如何在VS Code终端打开时自动激活特定的Node版本?

4
我有两个使用不同版本的node的项目,它们都是通过nvm管理的:
  1. 项目1:node v6.10.4
  2. 项目2:node v8.9.4
在每个项目的根目录下都有一个.nvmrc文件,其中包含了该项目所使用的node版本。当我在VS Code中打开终端时,默认选择的是另一个node版本,而不是之前提到的两个版本,我需要输入$ nvm use来切换到每个项目所使用的正确版本。是否有一种方法可以在终端打开后自动执行$ nvm use,或者其他实现我的目标的方法?有时我会打开终端并忘记执行该命令。
我正在使用Ubuntu 16.04、VS Code 1.20.1和nvm 0.33.8。
谢谢。
1个回答

12
我找到了一个解决方案:
要使用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

现在我已经将其更改为:
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

“--no-use”选项是告诉nvm“不要在PATH上加载默认的node二进制目录”,因为这将在最后几行中完成:如果.nvmrc存在于集成终端打开的目录中,则会加载其中的版本,否则加载默认版本。”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接