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)
首先,检查您的日志:
Elastic Beanstalk.Logs在侧边栏上选择Request Logs并选择Last 100 Lines或Full Log.是时候修复它了!
如果它与gyp WARN,gyp WARN EACCESS或相关gyp ERR,则在项目的根目录中创建一个名为 .npmrc 的文件。在此文件中,添加unsafe-perm=true. 这将强制 npm 以 root 身份运行 node-gyp。
如果错误与特定 npm 软件包无法安装有关,请考虑该软件包的替代方案。
一切顺利 !!
如果有人遇到这个问题,我的问题是我拥有的.gitignore node_modules而不是node_modules/文件夹正在被跟踪和部署。从部署中删除node_modules文件夹解决了该问题。
| 归档时间: |
|
| 查看次数: |
4036 次 |
| 最近记录: |