马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、为什么要用 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企服评测-应用市场 编辑提示
|