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

4nd*_*t3s 1 node.js nvm visual-studio-code

我有两个不同版本的node项目,它们是用nvm管理的:

  1. 项目一:节点 v6.10.4
  2. 项目二:节点 v8.9.4

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

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

谢谢。

4nd*_*t3s 5

我找到了一个解决方案:

为了使用 nvm,我添加了 ~/.bashrc (来自 nvm指令):

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
Run Code Online (Sandbox Code Playgroud)

现在我已将其更改为:

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
Run Code Online (Sandbox Code Playgroud)

--no使用的方法是,告诉NVM“在PATH不加载默认的节点bin目录”,因为这将是最后一个行后完成的:如果.nvmrc存在于其中集成终端打开后,里面版本的目录。 nvmrc 将被加载,否则默认版本。