节点 http 服务器无法在 Windows 10 Ubuntu Bash 上工作

Node http-server not working on Windows 10 Ubuntu Bash

我刚刚尝试在 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

这里可以缺少什么?尚不支持 Ubuntu bash on Windows 10?

更新: 自 Windows 10 创意者更新(2017 年 4 月)以来,此问题已得到修复。

目前这是一个已知问题[1][2][3][4],涉及尚未在 Windows 或 [=28] 上为 Bash 实施的一些低级网络代码=]-Linux 子系统 (WSL).

在修复之前,您可以尝试使用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 将使用这些投票来确定在任何即将到来的更新中优先修复哪些问题。