当在OS X中使用一个新的终端会话时,nvm会忘记节点版本并默认为零:

$nvm ls:

         .nvm
     v0.11.12
     v0.11.13

我必须在每个会话中一直按nvm use v.0.11.13:

         .nvm
     v0.11.12
->   v0.11.13

我已经尝试了brew安装和官方安装脚本。

我的.profile为酿造版本:

#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

对于install.sh脚本:

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash

#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

你知道我哪里做错了吗?


当前回答

出于某种原因,在我的.bashrc文件中,我发现了这个:

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

还不得不去掉——禁止使用的标志,我不记得一开始就把它挂在那里了…… 只是另一件需要检查的事情。

其他回答

1.-通过自制软件安装

2.-因为我使用的是zsh终端,在~/。ZSHRC添加这些行,如果你使用bash,你需要把这些行放在~/.bash_profile中

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

安装任何版本后运行此命令,

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local

该命令将通过nvm激活的任何版本的节点复制到/usr/local/目录中,并设置权限,以便所有用户都可以访问它们。

在VS Code编辑器中使用集成终端时,我也面临着同样的问题。在使用nvm更改节点版本后重新启动VS Code,为我解决了这个问题。

试试nvm alias default。例如:

$ NVM别名默认为0.12.7

这将设置shell中的默认节点版本。然后通过关闭shell窗口,打开一个新的窗口来验证更改是否持续,然后: 节点——版本

例如,执行nvm install 10.14, nvm将在当前shell会话中使用该版本,但它并不总是像你所期望的那样将其设置为未来会话的默认版本。在新的shell会话中获得的节点版本由nvm alias default决定。令人困惑的是,nvm install只会设置默认别名,如果它还没有设置。要得到预期的行为,请这样做:

nvm alias default ''; nvm install 10.14

这将确保下载该版本,并将其用于当前会话,并将其设置为未来会话的默认版本。