AWS EB部署问题

时间:2017-11-25 22:55:39

标签: node.js amazon-web-services amazon-ec2 elastic-beanstalk

我正在尝试将Node.js应用程序部署到Elastic Beanstalk。该应用程序在本地正常工作。但是,当我尝试部署时,我收到错误:

Failed to run npm install. Snapshot logs for more details.

以下是EB日志的屏幕截图,以获取更多详细信息: enter image description here

错误日志(我觉得有趣的是我获得了许可 - 这意味着什么?):

/var/log/eb-activity.log
-------------------------------------
  npm ERR! path /tmp/.npm/node-linux-x64
  npm ERR! code EACCES
  npm ERR! errno -13
  npm ERR! syscall mkdir

  npm ERR! Error: EACCES: permission denied, mkdir '/tmp/.npm/node-linux-x64'
  npm ERR!     at Error (native)
  npm ERR!  { Error: EACCES: permission denied, mkdir '/tmp/.npm/node-linux-x64'
  npm ERR!     at Error (native)
  npm ERR!   errno: -13,
  npm ERR!   code: 'EACCES',
  npm ERR!   syscall: 'mkdir',
  npm ERR!   path: '/tmp/.npm/node-linux-x64',
  npm ERR!   parent: 'node' }
  npm ERR! 
  npm ERR! Please try running this command again as root/Administrator.
  npm ERR! Linux 4.9.58-18.55.amzn1.x86_64
  npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm" "install" "--no-save" "node-linux-x64@9.2.0"
  npm ERR! node v6.11.5
  npm ERR! npm  v3.10.10
  npm ERR! path npm-debug.log.487421323
  npm ERR! code EACCES
  npm ERR! errno -13
  npm ERR! syscall open

  npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.487421323'
  npm ERR!     at Error (native)
  npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.487421323'
  npm ERR!     at Error (native)
  npm ERR!   errno: -13,
  npm ERR!   code: 'EACCES',
  npm ERR!   syscall: 'open',
  npm ERR!   path: 'npm-debug.log.487421323' }
  npm ERR! 
  npm ERR! Please try running this command again as root/Administrator.

  npm ERR! Please include the following file with any support request:
  npm ERR!     /tmp/deployment/application/node_modules/node/npm-debug.log
  module.js:471
      throw err;
      ^

  Error: Cannot find module 'node-linux-x64/package.json'
      at Function.Module._resolveFilename (module.js:469:15)
      at Function.resolve (internal/module.js:27:19)
      at ChildProcess.<anonymous> (/tmp/deployment/application/node_modules/node-bin-setup/index.js:18:27)
      at emitTwo (events.js:106:13)
      at ChildProcess.emit (events.js:191:7)
      at maybeClose (internal/child_process.js:920:16)
      at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)

  npm ERR! Linux 4.9.58-18.55.amzn1.x86_64
  npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm" "--production" "rebuild"
  npm ERR! node v6.11.5
  npm ERR! npm  v3.10.10
  npm ERR! code ELIFECYCLE
  npm ERR! node@9.2.0 preinstall: `node installArchSpecificPackage`
  npm ERR! Exit status 1
  npm ERR! 
  npm ERR! Failed at the node@9.2.0 preinstall script 'node installArchSpecificPackage'.
  npm ERR! Make sure you have the latest version of node.js and npm installed.
  npm ERR! If you do, this is most likely a problem with the node package,
  npm ERR! not with npm itself.
  npm ERR! Tell the author that this fails on your system:
  npm ERR!     node installArchSpecificPackage
  npm ERR! You can get information on how to open an issue for this project with:
  npm ERR!     npm bugs node
  npm ERR! Or if that isn't available, you can get their info via:
  npm ERR!     npm owner ls node
  npm ERR! There is likely additional logging output above.

的package.json:

{
  "name": "MyProject",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "body-parser": "latest",
    "express": "latest",
    "node": "latest",
    "nodemailer": "latest"
  },
  "scripts": {
    "start": "node app.js"
  }
}

为什么会这样?

编辑:根据要求添加了package.json和错误日志。

1 个答案:

答案 0 :(得分:0)

如果没有信息,这里有一些猜测:

  • 您正在手动压缩和上传您的应用。 Use the CLI tools,由于某种原因eb deploy总是更顺畅
  • 你是一个非常小的实例,你需要升级到一个有足够内存来处理依赖的实例

如果这些没有帮助,请发布您的package.json。或者,只需使用Up,它就比Beanstalk更容易。

相关问题