如何设置VS Code集成终端的node版本?

Fre*_*ohn 9 node.js visual-studio-code

不,这不是一个重复的问题。我已阅读有关 VS code 的文档以及有关堆栈溢出的其他帖子。问题仍然存在...

\n\n

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

\n\n

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

\n\n
\xce\xbb  ~  which node                                                     \n/Users/Freddy/.nvm/versions/node/v9.6.1/bin/node\n\xce\xbb  ~  node -v                                                                      \nv9.6.1\n\xce\xbb  ~  nvm --version                                                                \n0.33.8\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

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

\n\n

在 VS Code 终端中,节点版本始终恢复为 v7.6.0:

\n\n
node -v                                                             \nv7.6.0\n\n\xce\xbb  ~/auth0-profile  nvm use default                                                     \nNow using node v9.6.1 (npm v5.6.0)\n\n\xce\xbb  ~/auth0-profile  node -v     \n\nv7.6.0\n\n\xce\xbb  ~/auth0-profile  nvm current                                                         \nsystem\n\n\xce\xbb  ~/auth0-profile  nvm ls                                                              \n         v8.9.4\n        v8.10.0\n         v9.6.1\n->       system\ndefault -> 8.10.0 (-> v8.10.0)\nsystem -> 9.6.1 (-> v9.6.1)\nnode -> stable (-> v9.6.1) (default)\nstable -> 9.6 (-> v9.6.1) (default)\niojs -> N/A (default)\n
Run Code Online (Sandbox Code Playgroud)\n\n

即使我将节点设置为使用版本 v9.6.1 后,它也会恢复到 7.6,这对纱线有问题。我不知道为什么nvm current当它显示系统是 9.6.1 但node -v仍然显示 7.6.0 时结果是“系统”。

\n\n

有任何想法吗?

\n\n
\n\n

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

\n\n

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

\n

小智 3

Visual Studio Code 使用 NVM 指定的节点版本

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

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

“terminal.integrated.shellArgs.osx”:[]