我有一个Ubuntu虚拟机,它无法通过ssl连接到站点,即https。如果url以http开头,则它可以成功地从因特网下载人工产物。
npm安装将通过https下载依赖项。有没有办法让它通过http下载?
发布于 2012-01-16 20:55:31
尝试使用以下命令将注册表更改为http版本,而不是默认的https版本
npm config set registry http://registry.npmjs.org/发布于 2014-09-11 08:13:53
正如conlinf所说,以下内容应该是可行的:
npm config set registry http://registry.npmjs.org/
现在,补充我的话,您还应该考虑到,在没有ssl的情况下下载允许中间人攻击。这只是为了给阅读这篇文章的人添加一个警告。
如果你是一个单独的开发人员,直接下载http应该不会有太多问题,但如果我想用node.js攻击一家公司,我会考虑通过npm交付恶意代码。而且在没有ssl的情况下执行这样的攻击会容易得多。
发布于 2018-01-03 02:18:46
经过多次尝试和错误,我发现除了上面提到的所有内容之外,我还需要将https-proxy设置为http 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/请注意,proxy和https-proxy是相同的!
有关更多信息,请参阅此帖子上的评论:
https://github.com/npm/npm/issues/8034
另外,我在更新npmrc之后运行了一个npm cache clean --force,但是我不确定是否需要它。
希望这能有所帮助。
https://stackoverflow.com/questions/8874363
复制相似问题