Node.js AWS EB部署问题
我正在尝试将Node.js应用程序部署到Elastic Beanstalk。应用程序在本地正常工作。但是,当我尝试部署时,会出现以下错误:Node.js AWS EB部署问题,node.js,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,Node.js,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,我正在尝试将Node.js应用程序部署到Elastic Beanstalk。应用程序在本地正常工作。但是,当我尝试部署时,会出现以下错误: Failed to run npm install. Snapshot logs for more details. 以下是EB日志的屏幕截图,以了解更多详细信息: 错误日志(我发现有意思的是我被拒绝了权限-这意味着什么?) 为什么会发生这种情况 编辑:根据请求添加package.json和错误日志。由于没有任何信息,下面是一些猜测: 您正在手动压缩并
Failed to run npm install. Snapshot logs for more details.
以下是EB日志的屏幕截图,以了解更多详细信息:
错误日志(我发现有意思的是我被拒绝了权限-这意味着什么?)
为什么会发生这种情况
编辑:根据请求添加package.json和错误日志。由于没有任何信息,下面是一些猜测:
- 您正在手动压缩并上载应用程序,由于某些原因,
总是进行得比较顺利eb部署
- 您在一个非常小的实例上,需要升级到一个具有足够内存的实例来处理依赖关系
如果这些没有帮助,请发布您的
包.json
。或者,只需使用,它比Beanstalk简单得多。那么日志文件怎么说呢?请发布您的包.json
,至少脚本部分用日志和包编辑了我的文章。jsonAnyone知道怎么了吗?您正在谈论的这些CLI工具是什么?我只看到了在EB部署过程中手动上载应用程序的选项。下面是使用EB CLI和节点的教程,我尝试使用CLI,但它似乎仍然不起作用。我认为问题主要在于EACCS拒绝许可。
/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.
{
"name": "MyProject",
"version": "0.0.1",
"private": true,
"dependencies": {
"body-parser": "latest",
"express": "latest",
"node": "latest",
"nodemailer": "latest"
},
"scripts": {
"start": "node app.js"
}
}