AWS Elastic Beanstalk Node.js npm 安装错误

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk Node.js npm 安装错误【英文标题】:AWS Elastic Beanstalk Node.js npm install error 【发布时间】:2016-03-11 21:10:21 【问题描述】:

在应用程序部署期间,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 中,我将所有开发依赖项更改为依赖项,因为 webpack 是在预启动期间构建的。

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

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

【问题讨论】:

我也有类似的问题...如果我有什么解决办法,我会告诉你的。 【参考方案1】:

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

【讨论】:

以上是关于AWS Elastic Beanstalk Node.js npm 安装错误的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk CLI 安装错误

text AWS Elastic Beanstalk

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Elastic Beanstalk 无法担任角色

AWS Elastic Beanstalk

AWS Elastic Beanstalk chown PythonPath 错误