我可以用nvm设置节点版本,但VS代码中的终端恢复到7.6.0,这有纱线问题!
编辑: [在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代码之外,它完全正常。
在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)
即使我将节点设置为使用版本v9.6.1,它也会恢复为7.6,这会导致纱线出现问题。我不知道为什么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"
中的可执行文件,但我仍然没有成功。
答案 0 :(得分:1)
Visual Studio Code to use node version specified by NVM
我遇到了同样的问题,但是“ nvm使用默认值”和“ nvm别名...”之类的答案无济于事。
显然,当我使用zsh时,osx的默认shellArgs设置为bash。我通过将用户设置中的shellArgs设置为一个空数组来解决了这个问题:
“ terminal.integrated.shellArgs.osx”:[]
答案 1 :(得分:0)
我还不能发表评论,所以我会尝试从这里帮助你。我和你一样苦苦挣扎,找到了解决方案。我发布了一个答案here,也许它可以帮助你了解其中提到的资源。我不是使用zsh而是使用bash,但要使它适应你的"配置文件并不是很难。