【发布时间】:2017-08-03 20:14:40
【问题描述】:
我正在尝试将我的应用程序上传到 Elastic Beanstalk,但 npm 安装在 node-pre-gyp install --fallback-to-build 上失败。我尝试了各种版本的节点但无济于事。它似乎正在尝试获取一个不存在且不需要的 linux 软件包,它仅适用于 OSX(它在其中工作正常)。
解决方案似乎是使用 --no-optional 标志运行 npm install 但我找不到让 EB 使用此标志运行安装的方法。
此外,这个包似乎是 karma 的依赖项,我仅在 package.json 文件中将其作为 dev 依赖项。我可以看到 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
【问题讨论】:
标签: amazon-elastic-beanstalk npm-install