我正在尝试将Node.js应用程序部署到Elastic Beanstalk。该应用程序在本地正常工作。但是,当我尝试部署时,我收到错误:
Failed to run npm install. Snapshot logs for more details.
错误日志(我觉得有趣的是我获得了许可 - 这意味着什么?):
/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和错误日志。
答案 0 :(得分:0)
如果没有信息,这里有一些猜测:
eb deploy
总是更顺畅如果这些没有帮助,请发布您的package.json
。或者,只需使用Up,它就比Beanstalk更容易。