我已经安装了nvm (ubuntu with zsh shell),有两个节点版本:v6.11.5和v9.0.0, nvm中的默认版本是v9.0.0

每次我都需要改变节点版本

$ nvm list
         v6.11.5
->       v9.0.0
         system
default -> node (-> v9.0.0)
node -> stable (-> v9.0.0) (default)
stable -> 9.0 (-> v9.0.0) (default)


$ nvm v6

如何将nvm默认版本更改为v6.11.5?


当前回答

nvm别名默认为16(其中“16”是你想使用的版本),但如果你从https://nodejs.org/en/download/安装节点之前,我会建议你先删除它。对于m1或m1专业芯片,我建议您遵循以下解决方案:https://www.youtube.com/watch?v=fULL8QiPEU4

其他回答

警告:此答案仅适用于MacOS

假设你的nvm中有两个版本的nodeJS,分别是v13.10.1和v15.4.0

而且, V15.4.0是默认的

> nvm list
       v13.10.1
->      v15.4.0
         system
default -> 15.4.0 (-> v15.4.0)

并且,您希望将默认值切换到v13.10.1

在Mac终端上执行以下步骤:

执行如下命令: NVM别名默认为13.10.1

这将使v13.10.1的默认指向…

default -> 13.10.1 (-> v13.10.1)

打开终端的新实例。现在检查这里的节点版本…

节点- v

你会得到…

v13.10.1

NVM列表也会显示新的默认版本。 nvm列表

只是一个信息:上面例子中的NodeJS版本会有不同的npm版本。你可以通过运行npm -v在终端中交叉验证它

假设要将默认版本设置为10.19.0。

nvm alias default v10.19.0

但它会给出如下错误

! WARNING: Version 'v10.19.0' does not exist.
default -> v10.19.0 (-> N/A)

在这种情况下,您需要按以下顺序执行两个命令

# Install the version that you would like 
nvm install 10.19.0

# Set 10.19.0 (or another version) as default
nvm alias default 10.19.0

在我的情况下,Windows 11, nvm 1.1.9和使用gitbash

这些为我工作(必须以管理员身份运行)

(最新版本)

NVM使用最新

(特定版本)

NVM使用18.10.0

这些对我不起作用

NVM use 18 -> return node vv18.10.0(64位)未安装或找不到。

nvm使用default 18 ->返回无法识别的版本:"default"

NVM别名…—本NVM版本不支持> alias命令

希望对大家有所帮助:)

因为上面有很多关于默认别名的答案,有人仍然不能在新终端上得到正确的版本,我的答案在这里。

当您在shell rc文件(如~/.bashrc)中添加源$NVM_DIR/nvm.sh时,它将首先检查$ path环境变量中是否有nvm版本的节点路径,如/usr/local/nvm/versions/node/v14.1.0/bin。如果有,nvm将不使用默认别名。

所以首先你应该检查为什么在$ path中有节点路径。如果你能找到原因(比如在另一个rc文件或脚本文件中显式地运行nvm use 16),就删除它。

如果你找不到理由,或者只想留着它,那么另一个解决办法是:

# that's your previous usage, keep it
source $NVM_DIR/nvm.sh

# FORCE to use default alias
nvm use default

# or if you prefer to forcedly use .nvmrc prior to default, then
test -f .nvmrc && nvm use || nvm use default

对于那些在VSCode终端中测试这个,即使在杀死/重新启动终端后仍然看到旧版本的VS code以某种方式缓存旧版本。关闭/重新打开完整的VSCode窗口,您应该会看到带有node -v的正确版本。