10

我刚刚尝试http-server在 Windows 10 Ubuntu Bash 上安装 NodeJS,安装效果很好,但运行它来服务静态站点$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 还不支持?

4

1 回答 1

13

更新:自 Windows 10 创意者更新(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 网站上为该问题投票,因为 Microsoft 将使用这些投票来确定在任何即将到来的更新中优先修复哪些问题。

于 2016-08-04T18:10:40.740 回答