我有一台Ubuntu虚拟机,它在连接ssl网站(即https)时遇到了问题。如果url以http开头,它可以成功地从互联网下载存储。
npm install将通过https下载依赖项。是否有任何方法使其通过http下载?
我有一台Ubuntu虚拟机,它在连接ssl网站(即https)时遇到了问题。如果url以http开头,它可以成功地从互联网下载存储。
npm install将通过https下载依赖项。是否有任何方法使其通过http下载?
尝试使用以下命令将注册表更改为http版本而不是默认的https版本
npm config set registry http://registry.npmjs.org/
-g
标志安装全局包,则需要使用额外的 sudo
命令执行相同的操作。 - lordvladSSL23_GET_SERVER_HELLO
错误的人可能会有所帮助。 - meklarian如conlinf所说,以下命令应该可以解决问题:
npm config set registry http://registry.npmjs.org/
此外,还需要注意的是,如果没有启用SSL下载可能会遭受中间人攻击。请向读者提出警告。
如果您是个人开发者,则直接使用http
下载可能不会带来太多麻烦,但如果攻击公司使用node.js,则可能会通过npm传递恶意代码...并且未启用SSL时执行这样的攻击将更加容易。
https
上出现问题时,我通过登录VPN解决了这个问题。 - Roy经过多次尝试和错误,我发现除了上述所有内容之外,我还需要将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/
请注意,代理和https代理是相同的!
有关更多信息,请参见此线程中的评论:
https://github.com/npm/npm/issues/8034
此外,在更新npmrc后,我运行了npm cache clean --force
,但我不确定是否需要。
希望这能帮到你。
我曾经在公司的防火墙后遇到问题,将SSL严格模式设置为false解决了这个问题。
npm config set ssl-strict=false
ssl-strict
不是一个有效的 npm 选项。 - Ap0st0lstrict-ssl
https://docs.npmjs.com/cli/v9/using-npm/config#strict-ssl - Jeremy Fiel