我很清楚这个问题的根源,正如npm
在他们的博客上写的那样:http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more
解决方案是:
1)升级您的npm版本
npm install npm -g
或
2)告诉你当前版本的npm使用已知的注册商
npm config set ca ""
但是,这些解决方案都不适用于Elastic Beanstalk。 npm
链接到已安装节点的版本(v0.10.10),并且无法告知当前的npm版本使用已知的注册商。
我为NodeJS运行64位Amazon Linux实例
在.ebextensions
中添加此命令无效:
container_commands:
01_npm-fix:
command: /opt/elasticbeanstalk/node-install/node-v0.10.10-linux-x64/bin/npm config set ca ""
有人为此找到了解决方案吗?
答案 0 :(得分:1)
我也在努力解决这个问题。修复:https://gist.github.com/anonymous/fb32a4b053fe121b0b03。在container_commands
npm install
中应用已经运行。
答案 1 :(得分:1)
今天遇到同样的问题。我通过设置我的全局npmrc文件来修复它,如下所示:
02_no-cert:
command: "rm -rf /opt/elasticbeanstalk/node-install/node-v0.10.21-linux-x64/etc && mkdir /opt/elasticbeanstalk/node-install/node-v0.10.21-linux-x64/etc && echo 'ca = ' > /opt/elasticbeanstalk/node-install/node-v0.10.21-linux-x64/etc/npmrc"
ignoreErrors: true
答案 2 :(得分:0)
所以我找到了一种让它发挥作用的方法:
将其放入.ebextensions
:
commands:
01_enable_rootaccess:
command: echo Defaults:root \!requiretty >> /etc/sudoers
02_no-cert:
command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.10-linux-x64/bin/npm config set ca ""
在我的案例中像魅力一样工作。
答案 3 :(得分:0)
命令: 01-命令: 命令:'$(find / opt / elasticbeanstalk / node-install / * / bin | grep“npm $”| head -n1)config set ca“”'
答案 4 :(得分:0)
它也不适用于我。
我找到的内容:在运行“命令”块时,node-install文件夹为空。我假设这是因为在node + npm之前运行的命令完全部署到裸实例。
我将在今天晚些时候尝试测试这个假设,并提供进一步的反馈。