AWS Elastic Beanstalk Node.js npm安装错误

时间:2015-12-07 09:50:28

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

在部署应用程序期间,npm install无法安装非常特殊的依赖项:

npm ERR! enoent ENOENT: no such file or directory, chmod '/tmp/deployment/application/node_modules/babel-core/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/bin/jsesc'

我能够通过ssh进入托管我的Node应用程序的特定EC2实例并通过以下命令运行npm install来发现上述错误:

sudo /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install 2

然后是这种一般性的失败:

Failed to run npm install. Snapshot logs for more details. No environment variable EB_EVENT_FILE found. Writing message to stderr. Msg: Failed to run npm install. Snapshot logs for more details.

奇怪的是,我之前已经成功部署过一次,并且使用了与之前部署完全相同的配置。我唯一的命令是在.ebextensions /.

中的npm start

在我的package.json中,我将所有dev依赖项更改为依赖项,因为webpack在prestart期间正在构建。

顺便说一句,这一切都在本地构建和运行。我也在EB上使用Node 4.2.1和npm 2.14.7。

任何帮助都会很棒。谢谢!

1 个答案:

答案 0 :(得分:1)

我最终只是创建和部署Docker容器来解决这个问题。部署到EB提供的环境太过不确定 - 依赖树未正确创建。