如何在 vs-code 中设置扩展的默认节点读取位置?

how to set default node read location for extension in vs-code?

前题

我使用 nvm 安装 npm 和节点,这样我的 npm 和节点位置就在目录

npm /home/putrapc/.nvm/versions/node/v8.9.4/bin/npm 节点 /home/putrapc/.nvm/versions/node/v8.9.4/bin/node

我安装的都是稳定版

问题

我开始使用 vs-code,但总是出现让我烦恼的错误通知,like this

我意识到这个问题是因为 vs-code 中的扩展,如 jsHint、flow、Javascript 标准样式等,无法正确读取我的任何 npm 包。是的,它导致目录不正确,如何更改 vs-code 中的默认读取目录?

我的eslint目录

/home/putrapc/.nvm/versions/node/v8.9.4/bin/eslint -> /home/putrapc/.nvm/versions/node/v8.9.4/lib/node_modules/eslint/bin/eslint.js

我已经将 eslint 作为包安装,但是 vs-code 仍然没有读取它。如何纠正?

我遇到了与 VS Code 扩展类似的问题,在尝试 运行 节点时遇到了错误消息,例如

/usr/bin/env: ‘node’: No such file or directory

我找到的最简单的解决方案是 使用终端启动 Visual Studio 您试图从中打开的文件夹

这可以通过以下方式完成:导航到您尝试在代码中打开的文件夹在那里打开一个终端,然后键入在

$ code .

上述行为的发生似乎是因为 NVM 为节点位置设置了自己的变量,这是终端会话中默认使用的变量。您可以使用

检查这些
env | grep NVM

这为我返回了以下内容

NVM_DIR=/home/saikat/.nvm
NVM_CD_FLAGS=
NVM_BIN=/home/saikat/.nvm/versions/node/v12.0.0/bin

此外,尝试使用 which returns 以下

获取当前节点位置
$ which node
/home/saikat/.nvm/versions/node/v12.0.0/bin/node

当从终端以外的任何地方启动 Visual Studio 代码时,上述 NVM 变量未设置,因此扩展试图在默认位置找到节点 /usr/bin/env 无法在那里找到它,因此失败