如何为 VS Code 的集成终端设置节点版本?

Posted

技术标签:

【中文标题】如何为 VS Code 的集成终端设置节点版本?【英文标题】:How do I set the version of node for VS Code's integrated terminal? 【发布时间】:2018-09-07 20:29:55 【问题描述】:

不,这不是重复的问题。我已阅读有关 VS 代码的文档以及有关堆栈溢出的其他帖子。问题依旧...

我可以用nvm设置节点版本,但是VS代码中的终端恢复到7.6.0,这与yarn有问题!

编辑: [在 VS 代码之外从 zsh 添加调试信息]

λ  ~  which node                                                     
/Users/Freddy/.nvm/versions/node/v9.6.1/bin/node
λ  ~  node -v                                                                      
v9.6.1
λ  ~  nvm --version                                                                
0.33.8

我使用 nvm 来管理我的不同版本的节点,除了 VS Code 之外,它工作得非常好。

在 VS Code 终端中,节点版本总是恢复到 v7.6.0:

node -v                                                             
v7.6.0

λ  ~/auth0-profile  nvm use default                                                     
Now using node v9.6.1 (npm v5.6.0)

λ  ~/auth0-profile  node -v     

v7.6.0

λ  ~/auth0-profile  nvm current                                                         
system

λ  ~/auth0-profile  nvm ls                                                              
         v8.9.4
        v8.10.0
         v9.6.1
->       system
default -> 8.10.0 (-> v8.10.0)
system -> 9.6.1 (-> v9.6.1)
node -> stable (-> v9.6.1) (default)
stable -> 9.6 (-> v9.6.1) (default)
iojs -> N/A (default)

即使我将 node 设置为使用 v9.6.1 版本,它也会恢复到 7.6,这与 yarn 存在问题。而且我不知道为什么nvm current 显示系统为 9.6.1 时会导致“系统”,但 node -v 仍显示 7.6.0。

有什么想法吗?


EDIT2: [根据vscode 上的文档,我在launch.json 中设置了运行时版本,但这不起作用]

我发现如果我在 vscode 中从终端运行which node,它会返回/usr/local/bin/node。为了解决这个问题,我尝试将launch.json文件中的运行时可执行文件设置为.nvm目录"~/.nvm/versions/node/v8.10.0/bin"中的可执行文件,但我仍然没有成功。

【问题讨论】:

Visual Studio Code to use node version specified by NVM的可能重复 【参考方案1】:

Visual Studio Code to use node version specified by NVM

我遇到了同样的问题,但像“nvm use default”和“nvm alias...”这样的答案没有帮助。

显然,当我使用 zsh 时,osx 的默认 shellArgs 设置为 bash。我通过将用户设置中的 shellArgs 设置为空数组来解决问题:

"terminal.integrated.shellArgs.osx": []

【讨论】:

【参考方案2】:

我还不能发表评论,所以我会试着从这里帮助你。我和你一样苦苦挣扎,找到了解决办法。我发布了一个答案here,也许它可以帮助您解决其中提到的资源。我不使用 zsh 而是使用 bash,但将其适应您的“个人资料”并不难。

【讨论】:

以上是关于如何为 VS Code 的集成终端设置节点版本?的主要内容,如果未能解决你的问题,请参考以下文章

VS Code 集成终端的颜色主题

如何为 ctree(打包方)的终端节点添加标签?

VS Code - Cygwin作为集成终端

VS Code - Cygwin 作为集成终端

如何为 VS Express 版本编写 SourceControl 插件 [关闭]

【转】win10中vscode集成的终端光标位置错误