如何在Visual Studio Code中使用NodeJS调试和asdf?(找不到运行时“node”)

7

很遗憾,Visual Studio Code无法找到运行时可执行文件node

Cannot find node

但终端集成环境知道有关于node的信息:

$ which node
/home/user/.asdf/shims/node

我该如何在不显式添加运行时可执行文件到launch.json的情况下将node引入Visual Studio Code?

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      [...]
      "runtimeExecutable": "~/.asdf/shims/node" // <- want to avoid this
    }
  ]
}

1
我认为这就是direnv尝试解决的问题:https://github.com/asdf-community/asdf-direnv你搞清楚了吗?如果我从nvm切换到asdf,我也会遇到同样的问题。 - jsejcksn
@jsejcksn 感谢您的评论。确实,那可能是一个非常好的解决方案。我需要一些时间来研究一下。 - Robin
@Robin,进展如何?我试了一下,感觉还不错,但仍然存在同样的问题。 - FMGordillo
1
@FMGordillo 最终转向使用 devcontainers,停止使用 asdf。 - Robin
2个回答

4

看起来 VSCode 在盲目执行 Node 二进制文件之前会先尝试解析它。

在我的情况下,我没有设置全局 Node 版本,这导致了检查失败。

我只需设置一个全局版本,VSCode 的检查就能通过,然后它就可以愉快地运行本地版本,而无需任何 ASDF 特定的启动配置。


2

对我来说,为Node设置全局版本的方式是运行asdf global node <版本号>

asdf global nodejs 16.13.1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接