Elastic Beanstalk npm失败

Si-*_*i-N 3 amazon-elastic-beanstalk npm-install

我正在尝试将我的应用程序上载到Elastic Beanstalk,但是在节点预gyp安装--fallback-to-build上,npm安装失败。我尝试了各种版本的节点,但无济于事。似乎正在尝试获取一个不存在且不需要的linux软件包,只有OSX才需要(在此软件包中它工作正常)。

解决方案似乎是使用--no-optional标志运行npm install,但是我找不到使用此标志进行EB run install的方法。

而且这个包似乎是业力的依赖,我只有在package.json文件中作为开发依赖。我可以看到EB正在使用--production标志进行安装,因此我不知道它首先尝试安装的是什么。

任何有关如何解决此问题的想法将不胜感激。

>     Running npm with --production flag
>       Failed to run npm install. Snapshot logs for more details.
>       Traceback (most recent call last):
>         File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 695, in <module>
>           main()
>         File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 677, in main
>           node_version_manager.run_npm_install(options.app_path)
>         File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 136, in run_npm_install
>           self.npm_install(bin_path, self.config_manager.get_container_config('app_staging_dir'))
>         File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 180, in npm_install
>           raise e
>       subprocess.CalledProcessError: Command '['/opt/elasticbeanstalk/node-install/node-v4.6.1-linux-x64/bin/npm',
> '--production', 'rebuild']' returned non-zero exit status 1
> (ElasticBeanstalk::ExternalInvocationError)
>     caused by: + /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install
>       npm WARN package.json Room@1.0.0 No repository field.
>       npm WARN package.json Room@1.0.0 No README data
>       npm WARN package.json Room@1.0.0 No license field.
>       
>       > uglifyjs-webpack-plugin@0.2.1 postinstall /tmp/deployment/application/node_modules/uglifyjs-webpack-plugin
>       > node lib/post_install.js
>       
>       
>       > fsevents@1.0.15 install /tmp/deployment/application/node_modules/karma/node_modules/chokidar/node_modules/fsevents
>       > node-pre-gyp install --fallback-to-build
>       
>       node-pre-gyp ERR! Tried to download: https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.15/fse-v1.0.15-node-v46-linux-x64.tar.gz
Run Code Online (Sandbox Code Playgroud)

Jan*_*ara 8

我遇到了与休耕类似的错误 在此处输入图片说明

当我查看更多详细信息部分时,我发现这是bcrypt库中 的错误在此处输入图片说明

所以我删除了那个库并安装了bcryptjs 库并再次部署了它,然后它就成功部署了。所以当有不推荐使用的库和不支持的库时,可能会出现这种错误。

  • 今天早上我遇到了同样的问题。卸载 bcrypt 并安装 ``` bcrypt-nodejs``` 对我有用。 (2认同)

mic*_*ons 6

首先,检查您的日志:

  1. Elastic Beanstalk.
  2. 单击您的应用程序的环境名称
  3. Logs在侧边栏上选择
  4. 单击Request Logs并选择Last 100 LinesFull Log.
  5. 从您的日志中,您将看到 npm 失败的原因

是时候修复它了!

  1. 如果它与gyp WARN,gyp WARN EACCESS或相关gyp ERR,则在项目的根目录中创建一个名为 .npmrc 的文件。在此文件中,添加unsafe-perm=true. 这将强制 npm 以 root 身份运行 node-gyp。

  2. 如果错误与特定 npm 软件包无法安装有关,请考虑该软件包的替代方案。

一切顺利 !!


Si-*_*i-N 5

如果有人遇到这个问题,我的问题是我拥有的.gitignore node_modules而不是node_modules/文件夹正在被跟踪和部署。从部署中删除node_modules文件夹解决了该问题。