【问题标题】:How to automatically activate specific node version when VS Code integrated terminal opens?VS Code集成终端打开时如何自动激活特定节点版本?
【发布时间】:2018-08-07 19:27:29
【问题描述】:
我有两个具有不同版本的 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。
谢谢。
【问题讨论】:
标签:
node.js
visual-studio-code
nvm
【解决方案1】:
我找到了解决办法:
为了使用 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
--no-use 选项是告诉 nvm “不在 PATH 上加载默认节点 bin 目录”,因为稍后会在最后几行完成:如果 .nvmrc 存在于目录中在集成终端打开的地方,将加载 .nvmrc 中的版本,否则为默认版本。