WSL + VS代码:VSCode假设`node`与`nodejs`二进制名称

时间:2017-11-20 12:49:15

标签: visual-studio-code windows-subsystem-for-linux

我的目标是使Windows 10 + WSL成为一个开发平台,用于执行* IX样式编程,与过去几年中我在OSX上的编程一样好。我也在尝试新的事情,包括这个新奇的VS Code。

  • 使用WSL + Ubuntu,我安装了nodejs包。
  • 我使用JavaScript在VS Code中创建了“Hello World”
  • 我运行调试命令

Cannot find runtime 'node' on PATH. Make sure to have 'node' installed.

槽糕。好。我被提示打开launch.jsonclose

所以我认为尝试为node添加nodejs的别名是一种解决方法。

我重新启动了VS Code,尝试了相同的过程,同样的失败。

然后我尝试了/usr/bin/node/usr/bin/nodejs之间的符号链接。同样的错误。

我认为这是后WSL时代的一个非常标准的用例,但我没有找到规范的实现,也没有看到“那是不可能的!”所以,我们在这里:)

2 个答案:

答案 0 :(得分:3)

我使用nvm在Ubuntu上安装Node,但如果正常安装它应该可以正常工作。

e.g。

nvm install 9.2.0
nvm alias default 9.2.0

来自VSCode docs

  

如果要在Windows(WSL)上的Linux子系统中运行Node.js,也可以使用上面的方法。然而,为了使这更简单,我们引入了一个useWSL标志来自动配置所有内容,以便Node.js在Linux子系统中运行,源被映射到工作区中的文件。

     

以下是在WSL中调试hello.js的最简单的调试配置:    { "type": "node", "request": "launch", "name": "Launch in WSL", "useWSL": true, "program": "${workspaceFolder}/hello.js" }

答案 1 :(得分:1)

以上对我不起作用,但这里的最佳答案是: https://askubuntu.com/questions/1065276/cannot-find-runtime-node-on-path-in-visual-studio-code-running-installed-on-u?newreg=dbdc6529203049dc9106b3b1aa6c84e6

简而言之,似乎有两种选择。

1 -(对我有用)在 VSCode 终端中使用 'which node' 获取路径,然后将 "runtimeExecutable": "insert-path-you-got-here", 行添加到 launch.json

2 -(我还没有尝试过)在 ~/.profile 中添加 nvm 初始化脚本(请参阅该链接中的另一个答案)。