3 min read

nvm 安装失败?raw.githubusercontent.com 连接超时解决方案

昨天想在新电脑上装一下 Node.js,顺手就用了 nvm(Node Version Manager)来管理版本,结果执行官方安装命令就报错了:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

然后直接给我抛了个错误:

curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 6 ms: Couldn't connect to server

看到这个错误我其实一点都不意外,因为 raw.githubusercontent.com 在国内访问经常不太稳定。很多人第一次装 nvm 都会遇到这个问题,尤其是网络环境不太好的时候。

先说说为什么会报这个错

这个错误的核心原因就是 raw.githubusercontent.com 这个域名被墙了或者 DNS 解析有问题。nvm 的安装脚本托管在 GitHub 的 raw 仓库上,我们用 curl 去下载的时候,需要连接到这个域名的 443 端口(HTTPS),但因为网络问题根本连不上。

解决方案一:使用代理(推荐)

如果你有代理或者科学上网的环境,直接让 curl 走代理就行了:

# 设置代理地址(改成你自己的代理地址和端口)
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890

# 然后重新执行安装命令
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

执行完别忘了重新加载一下配置文件:

source ~/.bashrc
# 或者如果你用的是 zsh
source ~/.zshrc

解决方案二:手动下载安装脚本

如果你没有代理,可以手动去下载安装脚本。方法有好几种:

1. 打开浏览器下载

直接用浏览器打开这个链接(如果浏览器能科学上网的话):

https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh

把文件保存下来,假设存到了 ~/install.sh,然后执行:

bash ~/install.sh

2. 用国内镜像下载

GitHub 有一些国内镜像站可以用,比如:

# 使用 ghproxy 镜像
curl -o- https://ghproxy.com/https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

解决方案三:使用其他安装方式

如果上面方法都不行,也可以试试用 git 安装:

# 克隆 nvm 仓库到本地
git clone https://github.com/nvm-sh/nvm.git ~/.nvm

# 切换到最新版本
cd ~/.nvm
git checkout v0.39.7

然后在你的 shell 配置文件里(比如 ~/.bashrc~/.zshrc)加上这两行:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

保存后重新加载配置:

source ~/.bashrc

最后验证一下

安装完成后,用这个命令验证一下:

nvm --version

如果能看到版本号,就说明安装成功了。然后你就可以愉快地安装 Node.js 了:

# 安装最新 LTS 版本
nvm install --lts

# 列出已安装的版本
nvm ls

总结一下

nvm 安装失败大多是网络问题导致的,核心就是那行 curl: (7) Failed to connect to raw.githubusercontent.com 错误。根据你的网络情况选择合适的解决方案就行:

  • 有代理就配置代理让 curl 走代理
  • 没代理就手动下载安装脚本或者用国内镜像
  • 实在不行就用 git 克隆仓库安装

希望这篇对你有帮助,有问题评论区交流哈!