nvm ls-remote 命令导致“N/A”

新手上路,请多包涵

我正在尝试使用 nvm 安装 Node,但是当我键入任何版本时,它都不可用。当我输入 nvm ls-remote 我只是得到“N/A”。

我能够访问互联网,所以我不知道会发生什么。

原文由 eComEvo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.4k
2 个回答

更新来自维护 nvm.sh 的 LJHarb 的评论

LJHarb 建议导致此问题的典型问题是“安装在系统中的 SSL 证书颁发机构已过期”。检查并尝试解决此问题将是更好的第一步。

如果您认为 nvm.sh 方面 存在 问题,LJHarb 会要求用户在 nvm.sh 的问题跟踪器 上提交错误。

欢迎在评论部分查看原文。

另外,我想指出,以下解决方案旨在作为解决方法,仅在您确实处于绑定状态时临时使用。不建议永久修改导出的镜像或 nvm.sh 脚本本身。

编辑:发现更容易修复

您可以导出它用来抓取内容的镜像的非 https 版本:

 export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist

然后 nvm 工作

预编辑

刚才遇到了同样的问题。

看起来默认情况下它会尝试使用 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 如果您按照安装信息进行操作),您可以在 curl 之后的第 17 行添加 -k ,所以它看起来像这样:

 -- 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。

原文由 Jeffrey Martinez 发布,翻译遵循 CC BY-SA 3.0 许可协议

创建一个名为

~/.curlrc

在其中插入一行

-k

然后重试。

原文由 hawkeye 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题