问题前
我使用nvm安装npm和node,这样我的npm和node位置就在目录中
npm /home/putrapc/.nvm/versions/node/v8.9.4/bin/npm
Node /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 扩展中遇到了类似的问题,在尝试运行 Node 时遇到了错误消息,例如
/usr/bin/env: ‘node’: No such file or directory
我发现的最简单的解决方案是使用终端在您尝试打开的文件夹中启动 Visual Studio
这可以通过以下方式完成:导航到您尝试在代码中打开的文件夹,在其中打开终端,然后输入
$ code .
之所以会发生上述行为,是因为 NVM 为 Node 位置设置了自己的变量,而这正是终端 session 中默认使用的变量。您可以使用检查这些
env | grep NVM
这为我返回了以下内容
NVM_DIR=/home/saikat/.nvm
NVM_CD_FLAGS=
NVM_BIN=/home/saikat/.nvm/versions/node/v12.0.0/bin
此外,尝试使用获取当前 Node 位置返回以下内容
$ which node
/home/saikat/.nvm/versions/node/v12.0.0/bin/node
当从终端以外的任何地方启动 Visual Studio Code 时,上述 NVM 变量不会被设置,因此扩展尝试在默认位置 /usr/bin/env 查找 Node ,但无法在那里找到它,因此失败
关于node.js - 如何在 vs-code 中设置扩展的默认 Node 读取位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49368145/