更新维护 nvm.sh 的 LJHarb 的评论
LJHarb 表示,导致此问题的一个典型问题是“系统中安装的 SSL 证书颁发机构已过时”。检查并尝试解决这个问题将是更好的第一步。
如果你相信那里isnvm.sh 方面出现问题,LJHarb 要求用户在以下位置提交错误nvm.sh 的问题跟踪器 https://github.com/creationix/nvm/issues.
欢迎在评论区查看原文。
另外,我想指出,以下解决方案旨在作为解决方法,仅在您确实陷入困境时临时使用。不建议永久修改导出的镜像或nvm.sh脚本本身。
Edit:发现更容易修复
您可以导出它用来抓取内容的非 https 版本的镜像:
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
然后nvm就可以工作了
Pre edit
刚才也有同样的问题。
看起来默认情况下它会尝试使用curl(如果您的系统上可用)。
我假设你也在linux上,所以尝试运行curl $NVM_NODEJS_ORG_MIRROR
看看你是否遇到与我相同的错误:
curl: (77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
也许某些证书已过期或配置错误(或者有人做了一些令人讨厌的事情),直到它被修复,如果您不介意解决安全问题,您可以找到 nvm.sh 文件(应该位于~/.nvm/nvm.sh
如果您遵循安装信息),并且您可以添加-k
在卷曲之后的第 17 行,所以它看起来像这样:
-- nvm.sh --
nvm_download() {
16 if nvm_has "curl"; then
17 curl -k $*
18 elif nvm_has "wget"; then
19 # Emulate curl with wget
...
}
不要忘记重新启动 shell,然后尝试nvm ls-remote
。假设修复成功,您现在应该可以使用 nvm 了。