使用http-server启动Angular PWA项目时报错TypeError: Readable.from is not a function
报错原因与解决方案
核心根因
你遇到的TypeError: Readable.from is not a function错误属于版本不兼容问题:
- Node.js内置的
stream.Readable.fromAPI是v12.3.0版本才正式上线的,你当前使用的Node v12.2.0版本未包含该API - http-server v14.0.0的最低运行要求为Node v12.3.0以上,和你本地环境不匹配
附带的DeprecationWarning: OutgoingMessage.prototype._headers is deprecated废弃警告同样是版本不匹配导致的,解决核心兼容问题后该警告会同步消失。
可选解决方案
方案1:降级http-server到兼容版本(改动最小,推荐)
http-server v13.x版本可完美兼容Node v12.2.0和Windows 7系统,操作步骤如下:
- 卸载当前安装的高版本http-server:
npm uninstall -g http-server
- 安装指定兼容版本:
npm install -g http-server@13.0.2
- 重新执行原有启动命令即可正常运行服务:
http-server -p 8080 -c-1 dist/angular-pwa
方案2:升级Node.js版本
如果你需要使用http-server v14及以上版本,可以升级本地Node.js到v12.3.0及以上版本,升级后重启终端重新执行启动命令即可。
注意:你当前使用的是Windows 7专业版系统,Node.js v14及以上版本已不再支持Windows 7,选择该方案最高只能安装Node v13.14.0版本。
内容的提问来源于stack exchange,提问作者Alan Yu
相关产品推荐
相关产品推荐

