我有一个Ubuntu虚拟机无法连接到具有ssl的站点,即https.如果网址以http开头,它可以成功地从互联网上下载工件.
npm install将通过https下载依赖项.反正是否通过http下载?
col*_*inf 135
尝试使用该命令将注册表更改为http版本而不是默认的https
npm config set registry http://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)
Cre*_*ine 13
正如康林夫所说,以下应该有效:
npm config set registry http://registry.npmjs.org/
现在,为了补充我的话,您还应该考虑在没有ssl的情况下下载允许中间人攻击.只是向阅读帖子的人添加警告.
如果你是一个独立的开发者,http直接下载应该没有太大的麻烦,但如果我想使用node.js攻击一家公司,我会考虑通过npm提供恶意代码...并且在没有ssl的情况下执行这样的攻击会更容易.
经过多次试验和错误,我发现除了上面说的所有内容之外,我还需要设置https-proxyhttp的值proxy.
所以结束.npmrc文件看起来像
proxy=http://username:password@proxy.address:port/
https-proxy=http://username:password@proxy.address:port/
strict-ssl=false
registry=http://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)
请注意,代理和https代理是完全相同的!
有关详细信息,请参阅此主题的评论:
https://github.com/npm/npm/issues/8034
另外我npm cache clean --force在更新npmrc后运行了一个很好的措施,但我不确定它是否是必需的.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
51188 次 |
| 最近记录: |