一篇文章搞懂 nvm:管理 Node.js 版本的利器

一篇文章搞懂 nvm:管理 Node.js 版本的利器

更多文章详见微信公众号: 码路小匠

什么是 nvm?

nvm 全称是 Node Version Manager,翻译过来就是 “Node 版本管理器”。简单来说,它就是一个能让你在电脑上同时安装和切换不同 Node.js 版本的工具。

想象一下你是个厨师,nvm 就像是你的调料架,上面放着各种不同口味的调料(Node.js 版本),你可以根据需要随时取用,而不用每次都重新买新的调料。

为什么要用 nvm?

  1. 项目需要不同版本:有些老项目可能只能用旧版 Node.js 运行,而新项目又需要新版功能
  2. 避免全局污染:不用每次切换版本都重装 Node.js
  3. 测试兼容性:可以快速测试你的代码在不同 Node.js 版本下的表现
  4. 学习新特性:想体验最新版 Node.js 又不想影响现有项目

安装 nvm

Windows 用户

Windows 用户要用 nvm-windows

  1. 卸载已安装的 Node.js
  2. 下载安装包(推荐下载 nvm-setup.zip)
  3. 双击安装,一路下一步
  4. 安装完成后打开命令行输入 nvm -v 检查是否安装成功

Mac/Linux 用户

打开终端运行安装脚本:

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

安装完成后关闭再重新打开终端,输入 nvm -v 检查是否安装成功。

如果提示命令找不到,可能需要把下面这行加到你的 .bashrc.zshrc 文件里:

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

nvm 基本使用

查看可用版本

nvm ls-remote  # 查看所有可安装的版本
nvm ls         # 查看本地已安装的版本

安装指定版本

nvm install 14.17.0  # 安装特定版本
nvm install 16      # 安装16系列最新版
nvm install node    # 安装最新稳定版

切换版本

nvm use 14.17.0  # 切换到指定版本
nvm use node     # 使用最新稳定版
nvm use 16       # 使用16系列最新安装的版本

设置默认版本

nvm alias default 16  # 设置默认使用16系列最新版

其他常用命令

nvm current      # 查看当前使用的版本
nvm run 14 app.js # 用指定版本运行脚本
nvm which 16     # 查看16版本的安装路径
nvm uninstall 12 # 卸载指定版本

实际使用场景

场景1:新项目用新版,老项目用旧版

假设你正在维护一个老项目,用的是 Node.js 12,同时又要开发一个新项目需要用 Node.js 16:

# 进入老项目目录
cd ~/projects/old-project
nvm use 12
npm start

# 打开新终端进入新项目
cd ~/projects/new-project
nvm use 16
npm start

场景2:测试代码在不同版本的兼容性

nvm use 12
node test.js

nvm use 14
node test.js

nvm use 16
node test.js

场景3:尝鲜最新版但不影响现有项目

nvm install node  # 安装最新版
nvm use node      # 切换到最新版
node -v           # 看看有什么新功能

常见问题

1. 安装慢怎么办?

可以设置淘宝镜像:

# 设置node镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

# 设置npm镜像
npm config set registry https://registry.npm.taobao.org

2. 切换版本后全局安装的包还在吗?

不在!每个 Node.js 版本都有自己的全局包空间。解决办法:

  1. 在每个版本中都重新安装需要的全局包
  2. 使用 nvm reinstall-packages 命令从另一个版本复制全局包
nvm install 16 --reinstall-packages-from=14

3. 为什么切换版本后命令不生效?

有时候可能需要关闭终端重新打开,或者手动重新加载 nvm:

source ~/.nvm/nvm.sh

小技巧

  1. 版本别名:给常用版本起个易记的名字

    nvm alias awesome-version 14.17.0
    nvm use awesome-version
    
  2. 自动切换:在项目根目录放一个 .nvmrc 文件,内容写版本号(如 “14.17.0”),然后运行 nvm use 会自动切换

  3. 快速安装nvm install --lts 直接安装最新的 LTS(长期支持)版本

总结

nvm 就像 Node.js 版本的时光机,让你在不同版本间自由穿梭。刚开始可能会觉得有点复杂,但用顺手后你会发现它简直是开发必备神器。记住几个关键点:

  1. nvm install 安装版本
  2. nvm use 切换版本
  3. nvm ls 查看已安装版本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值