我尝试使用命令行工具在Elastic Beanstalk上安装一个简单的Node.js应用程序。由于目录权限,Amazon Elastic Beanstalk上的Node.js部署失败
在我的git仓库我运行命令
$ eb deploy
部署我的git仓库中的内容。它部署好但是应用程序的健康状态是红色的。
如果我看弹性魔豆网站上的日志,它指向我在日志中出现以下错误:
> [email protected] install /tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents/build'
gyp ERR! stack at Error (native)
gyp ERR! System Linux 4.1.17-22.30.amzn1.x86_64
gyp ERR! command "/opt/elasticbeanstalk/node-install/node-v4.3.0-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v4.3.0-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-linux-x64/fse.node" "--module_name=fse" "--module_path=/tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-linux-x64"
gyp ERR! cwd /tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents
gyp ERR! node -v v4.3.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
我试着像各种事情:
- 创建目录自己(目录由root拥有)。
- 删除/ tmp中的所有内容,以便希望下次修复它自己。
- 删除我的node_modules目录。
这些选项都不起作用,我无法找到解决方法或发生这种情况的原因。我可以在本地运行node.js应用程序,并将其部署到Azure和Heroku,而不会有任何问题。
我有同样的问题,你有什么发现吗?提出的答案不是我的问题 – ParoX
我已经想通了,一个模块试图在package.json的'preinstall'部分中使用'npm install'安装另一个模块。希望这也是你的问题。 – ParoX
我通过不检查git仓库中的'node_modules'解决了我的问题。 'npm install'自动创建它们。 –