使用NVM设置节点版本,如果不可用则安装。

时间:2018-03-22 19:25:02

标签: node.js bash nvm

我正在尝试添加我的bash配置文件,将我的节点版本设置为特定版本,如果未安装节点版本,则安装它。到目前为止我所拥有的是:

. /usr/local/opt/nvm/nvm.sh
if [[ $(nvm use v6.9.1) == "" ]]; then
  nvm install v6.9.1
fi

然而,问题是$(nvm use v6.9.1)在子shell中运行,而我的节点版本没有切换。

a)有没有办法在当前shell中运行$(nvm use v6.9.1)

b)有更好的方法吗?

以前我刚刚运行nvm install v6.9.1,但这有点慢,因为每次打开新终端时它都会运行。

谢谢马特!

1 个答案:

答案 0 :(得分:2)

您是否尝试过使用nvm ls?

. /usr/local/opt/nvm/nvm.sh
if [[ $(nvm ls | grep v6.9.1) == "" ]]; then
  nvm install v6.9.1
else
  nvm use v6.9.1
fi

是否比使用nvm install v6.9.1更快?

编辑:您还可以设置默认情况下始终加载的默认版本。您可以通过运行nvm alias default 6.9.1来完成此操作。

您可以尝试将脚本更改为:

if [[ $(node -v) != "v6.9.5" ]]; then
  nvm install v6.9.5
  nvm alias default v6.9.5
fi

需要一点时间,但这是第一次