使用NVM设置默认Node版本的方法

使用NVM设置默认Node版本的方法

技术背景

在开发过程中,不同的项目可能需要不同版本的Node.js。NVM(Node Version Manager)是一个非常实用的工具,它允许用户在同一台机器上轻松切换不同版本的Node.js。设置默认的Node.js版本可以确保每次打开新的终端会话时,使用的都是期望的版本。

实现步骤

1. 安装最新版本的NVM(如果未安装)

确保你使用的是最新版本的NVM(截至本文写作时为v0.39.2)。

2. 安装所需的Node.js版本

1
2
3
4
# 安装最新稳定版
nvm install node
# 或者安装指定版本
nvm install <version>

3. 设置全局默认版本

1
2
3
4
# 将最新版本设置为默认
nvm alias default node
# 或者将指定版本设置为默认
nvm alias default <version>

4. 验证全局默认版本

关闭并重新打开终端,然后检查Node.js版本:

1
node -v

核心代码

以下是一些常见的设置默认版本的代码示例:

1
2
3
4
5
6
7
8
9
# 设置默认版本为16.14.2
nvm alias default 16.14.2
nvm use

# 设置默认版本为最新LTS版本
nvm alias default lts/*

# 设置默认版本为指定的主要版本
nvm alias default 20

最佳实践

  • 定期更新NVM:确保使用的是最新版本的NVM,以获得更好的稳定性和功能支持。
  • 使用LTS版本:对于生产环境,建议使用长期支持(LTS)版本的Node.js。
  • 避免系统Node冲突:如果系统中已经安装了Node.js,可能会与NVM管理的版本冲突。可以将系统Node重命名或卸载。

常见问题及解决方案

版本不存在错误

当设置的版本不存在时,会出现类似 ! WARNING: Version 'v10.19.0' does not exist. 的错误。此时需要先安装该版本:

1
2
nvm install 10.19.0
nvm alias default 10.19.0

VSCode终端缓存问题

在VSCode终端中设置默认版本后,可能仍然显示旧版本。这是因为VSCode会缓存旧版本。关闭并重新打开VSCode窗口即可。

系统Node优先级问题

如果系统中已经安装了Node.js,NVM可能会优先使用系统Node。可以将系统Node重命名或卸载:

1
2
3
4
sudo mv /usr/local/bin/node /usr/local/bin/node-system    
sudo mv /usr/bin/node /usr/bin/node-system
nvm use node
sudo ln -s /home/paul/.nvm/versions/node/v12.20.1/bin/node /usr/bin/node

.bash_profile 重置 $PATH 问题

如果 .bash_profile 重置了 $PATH,导致NVM设置的版本无效,可以修复 $PATH 操作或在 .bash_profile 末尾运行 nvm use default


使用NVM设置默认Node版本的方法
https://119291.xyz/posts/set-default-node-version-with-nvm/
作者
ww
发布于
2025年5月26日
许可协议