Linux (CentOS 7) 安装 NVM 教程

[复制链接]
发表于 2026-10-6 11:01:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、为什么要用 NVM 而不是直接装 Node

Node.js 在发行版仓库里能装,但版本往往落后一两个大版本,而且装完整个系统的 Node 就是这一个,没法在项目之间来回切。NVM(Node Version Manager)是社区广泛使用的版本管理工具:同一台机器同时挂多个 Node 版本,每个项目锁定自己的版本,切的时候一条 nvm use 就行。

下面以 CentOS 7 为例走一遍完整流程,从更新系统到装 Node 到切换版本。

二、第一步:更新系统包

先确保基础包是最新的,免得后面装依赖时撞上版本冲突:

sudo yum update -y

三、第二步:装依赖

NVM 的官方安装脚本是 curl 拉一个 shell 执行的,需要 curl;同时 NVM 用 git 做版本管理,仓库里最好有 git:

sudo yum install -y epel-release
sudo yum install -y curl git

其中 epel-release 是额外软件包源,有些依赖(比如后来的 gcc 工具链组件)会用到;git 是 NVM 自己更新和切换版本时必须的,缺了它装完 nvm 命令会报找不到。

四、第三步:装 NVM

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

这条命令的作用是:把安装脚本拉下来直接交给 bash 执行。注意两点:

  • 版本号 v0.39.0 可以在 NVM 的 GitHub 仓库里查最新版再替换,别无脑照抄旧版。
  • 这种"管道直接执行"的写法只适用于你明确信任的官方脚本,别对来路不明的地址这么干。

执行完输出里会有几行提示,告诉你接下来要把 NVM 加进 shell 配置文件。

五、第四步:把 NVM 写进 shell 配置

装完后 NVM 不会自动进你的交互式 shell,得手动在 ~/.bashrc 末尾补两行:

vi ~/.bashrc

在文件最后加入:

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

保存退出后让配置立即生效:

source ~/.bashrc

不做这一步的表现是:nvm 命令始终报 "command not found",九成人都卡在这里。另外提醒:vi 里先按 i 进编辑模式,改完按 Esc 再输入 :wq。

六、第五步:验证

nvm -v

能打印出版本号就说明装好了。

七、第六步:装 Node.js

装最新的 LTS(长期支持)版本:

nvm install --lts

或者指定某个具体版本:

nvm install 16.20.2

装完确认版本:

node -v
npm -v

八、第七步:在版本之间切换

装了多个版本之后随时切:

nvm use 16.20.2
nvm use 14.17.0

切完再 node -v 确认一下当前生效的版本。每个 shell 会话都要切一次,因为 nvm use 只对当前终端有效;想让某个项目固定下来,在项目目录里写个 .nvmrc,内容就一行版本号(比如 16.20.2),团队里 nvm use 就能自动对齐。

九、几个常见坑

  • nvm 命令找不到:没执行 source ~/.bashrc,或者 NVM_DIR 那两行没写进配置文件。
  • 装了 Node 但 npm 用不了:通常是 shell 配置文件里加了 --no-use 之类的参数,或者 npm 装到了别的目录,用 which npm 看路径是否指向 ~/.nvm/versions 下。
  • 编译 Node 时报 gcc 版本太低:CentOS 7 自带的 gcc 是 4.8,编译较新 Node 会失败,先装 gcc gcc-c++ make 的较新版本再装 Node。
  • 国内拉 GitHub 慢导致安装脚本卡住:可以给 git 配代理,或者改用国内镜像源对应的安装脚本(务必从官方文档查,不要随便信任第三方脚本)。

十、小结

整条链路是:yum update → 装 epel/curl/git → curl 拉安装脚本执行 → 把 NVM_DIR 和 source nvm.sh 两行写进 ~/.bashrc → source ~/.bashrc 验证 → nvm install 装 Node → nvm use 切换。核心记住一句话:装完必须把 source 那两行写进 shell 配置,否则 nvm 永远"command not found"。项目层面用 .nvmrc 固定版本,团队就不容易踩版本不一致的坑。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表