繁体   English   中英

AWS EB部署问题

[英]AWS EB deployment issue

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

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

这是EB日志的屏幕截图,以获取更多详细信息: 在此处输入图片说明

错误日志(我发现拒绝权限很有趣-那是什么意思?):

/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和错误日志。

没有可用的信息,这是一些猜测:

  • 您正在手动压缩和上传您的应用程序。 使用CLI工具 ,由于某些原因, eb deploy总是会更加顺利
  • 您处于一个很小的实例上,需要升级到具有足够内存以处理依赖关系的实例

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM