node.js - 如何在 vs-code 中设置扩展的默认 Node 读取位置?

标签 node.js npm visual-studio-code vscode-extensions nvm

问题前

我使用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/

相关文章:

javascript - 如何解决 Windows 10 上的 'node-gyp rebuild' 问题?

ios - 如何让 iOS 模拟器在 macOS 中始终保持领先

javascript - 如何在 Electron 应用程序中导入自签名证书

javascript - 为什么我的discord.js 机器人没有响应 ";say (content)"

javascript - jade 在迭代中获取对象键名

javascript - 在 node-mysql 中使用 SSH 隧道连接到 MySQL

visual-studio-code - 如何构建发布版 vscode 版本

tfs - 从 TFVC for Visual Studio Code 中的排除更改中删除文件/目录的方法

javascript - 如何以异步方式调用 10 个函数并收集所有结果并知道所有结果何时完成?

javascript - 如果我使用 dotenv 和 PM2 Ecosystem.config.js 设置环境变量,Node 将使用哪一个?