节点http-server无法在Windows 10 Ubuntu Bash上运行

时间:2016-05-28 10:30:57

标签: node.js windows bash ubuntu windows-subsystem-for-linux

我刚尝试在Windows 10 Ubuntu Bash上安装NodeJS http-server,安装工作正常,但运行它以服务静态网站$http-server src会引发此错误:

$ http-server src

/usr/lib/node_modules/http-server/bin/http-server:14
var ifaces = os.networkInterfaces();
                ^
Error: EINVAL, invalid argument
    at Object.<anonymous> (/usr/lib/node_modules/http-server/bin/http-server:14:17)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:945:3

这里可以缺少什么?在Windows 10上使用Ubuntu bash不支持吗?

1 个答案:

答案 0 :(得分:13)

更新:自Windows 10 Creators更新(2017年4月)以来,此问题已得到解决。

目前这是一个已知问题[1] [2] [3] [4],其中包含一些尚未提及的低级网络代码已经在Windows或Windows-Linux子系统(WSL)上实现了Bash。

在修复之前,您可以尝试使用live-server

sudo npm install live-server -g
live-server src

或者可能是Python的SimpleHTTPServer:

cd src
python -m SimpleHTTPServer 8000

为了尽快帮助解决问题,建议您在Bash on Windows Uservoice site上投票支持该问题,因为Microsoft将使用这些投票来确定哪些问题可以在任何即将发布的更新中确定优先顺序。