如何在VS Code集成终端打开时自动激活特定节点版本?

时间:2018-02-28 01:42:19

标签: node.js visual-studio-code nvm

我有两个不同版本的节点的项目,使用 nvm 进行管理:

  1. 项目1:节点v6.10.4
  2. 项目2:节点v8.9.4
  3. 在每个项目的根文件夹上都有一个文件.nvmrc及其节点版本。当我在VS Code上打开集成终端时,选择了默认节点版本(前两个除外),我需要键入$ nvm use以更改为每个项目使用的节点的正确版本。有没有办法在终端打开后自动执行$ nvm use,或者实现我的目标的另一种方式?有时我打开终端并忘记执行命令。

    我使用的是Ubuntu 16.04,VS Code 1.20.1和nvm 0.33.8。

    感谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

为了使用nvm,我添加了〜/ .bashrc(来自nvm instructions):

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

现在我已将其更改为:

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

if [ -f ".nvmrc" ]; then
  nvm use > /dev/null
else
  nvm use default > /dev/null
fi

- 禁止使用选项是告诉nvm"不在PATH"上加载默认节点bin目录,因为它将在后面的行中完成:if。 nvmrc存在于集成终端打开的目录中,将加载.nvmrc中的版本,否则为默认版本。