Intellij-通过WSL错误运行节点

时间:2018-08-11 05:39:49

标签: node.js intellij-idea windows-subsystem-for-linux

即使我一直都访问堆栈溢出问题,还是第一次在堆栈溢出问题上发布问题。通常在通过Ubuntu VM执行开发后,我正在尝试Windows 10 WSL(Linux的Windows子系统)功能。当前,我有一个在WSL中运行node和MongoDB的Web项目,并且我希望IntelliJ作为Windows上的IDE。

我已经成功地通过WSL bash终端运行node和MongoDB。我面临的唯一问题是尝试将IntelliJ配置为通过WSL运行node.js,以便调试代码。

这是“运行/调试配置”下的当前node.js配置:

Node interpreter: Ubuntu (Legacy) /usr/bin/node
Node parameters: --use_strict
Working directory: C:\Project\src\www\wizard
JavaScript File: server\start-server.js
Application parameters: 4242 4243 9000 127.0.0.1

这是我运行此配置时IntelliJ返回的错误:

"C:\Program Files\JetBrains\IntelliJ IDEA 182.4129.4\bin\runnerw.exe" C:\WINDOWS\System32\bash.exe -c "/usr/bin/node --use_strict /mnt/c/Project/src/www/wizard/server/start-server.js 4242 4243 9000 127.0.0.1"
runnerw.exe CreateProcess failed with error 2: The system cannot find the file specified.

Process finished with exit code 2

我尝试在IntelliJ 2018.2.1上运行此程序,并尝试使用IntelliJ 2018.2.2 EAP。但是每个版本都会导致相同的错误。

出于好奇,我在带有节点参数的单独cmd提示符中运行了bash.exe命令,它启动节点服务器时没有出现错误。我还尝试过以管理员身份运行IntelliJ,结果相同。

另一方面,我能够使用Mocha Run / Build Configuration在IntelliJ上设置并成功运行后端Mocha服务器单元测试:

Node interpreter: Ubuntu (Legacy) /usr/bin/node
Working directory: C:\Project\src\www\wizard
Mocha package: C:\Project\src\www\wizard\node_modules\mocha
User interface: bdd
Extra Mocha options: --recursive
Test directory: C:\Project\src\www\wizard\server\test

这是我运行mocha构建时的IntelliJ控制台输出:

C:\WINDOWS\System32\bash.exe -c "/usr/bin/node /mnt/c/Project/src/www/wizard/node_modules/mocha/bin/_mocha --recursive --ui bdd --reporter /mnt/c/Users/Fanris/.IntelliJIdea2018.2/config/plugins/NodeJS/js/mocha-intellij/lib/mochaIntellijReporter.js /mnt/c/Project/src/www/wizard/server/test"
...
Process finished with exit code 0

尝试通过IntelliJ启动WSL node.js时,是否还有其他人遇到此错误?有什么建议解决或解决此问题吗?希望我提供了足够的信息来提供帮助。

非常感谢您的反馈...这让我抓狂了。

1 个答案:

答案 0 :(得分:0)

runnerw.exe(在Windows上运行外部进程的JetBrains实用程序)的已知问题,是由文件系统重定向和https://github.com/Microsoft/WSL/issues/223引起的:bash.exe中未安装%windir%\Sysnative(这是指向%windir%\SysWOW64%windir%\SysArm32的链接)。 该问题已在下一个重大更新(2018.3)中得到解决-我们已经为64位平台重建了runnerw.exe,以解决该问题。

目前,我只能建议使用本地Node.js解释器而不是旧版WSL