我已经安装了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 alias default node

然后你就得跑了

nvm use default

或者退出并打开一个新标签

其他回答

我在运行nvm install——lts后做了类似的事情:

nvm alias default 'lts/*'

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

使用NVM别名default 10.15.3 *修改默认节点版本号

(将我的版本替换为您的默认版本号)

你可以用NVM list检查你的默认列表

当前的答案并没有解决我的问题,因为我在/usr/bin/node和/usr/local/bin/node中安装了node -所以系统总是首先解决这些问题,而忽略了nvm版本。

我通过将现有版本移动到/usr/bin/node-system和/usr/local/bin/node-system来解决这个问题

然后我就没有node命令了,直到我使用nvm use:(

我通过创建一个指向nvm将要安装的版本的符号链接解决了这个问题。

sudo mv /usr/local/bin/node /usr/local/bin/node-system    
sudo mv /usr/bin/node /usr/bin/node-system 
nvm use node
  Now using node v12.20.1 (npm v6.14.10)
which node
  /home/paul/.nvm/versions/node/v12.20.1/bin/node
sudo ln -s /home/paul/.nvm/versions/node/v12.20.1/bin/node /usr/bin/node

然后打开一个新的shell

node -v
  v12.20.1

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

当您在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