Webpack Bundle Analyzer生成报告时提示’Error: spawn sync’怎么办?

Tr° 永景 阅读 109

刚在项目里装了webpack-bundle-analyzer,按文档配好插件后运行build,结果报错:Error: spawn sync /path/to/chrome ENOENT。尝试过npm install –save-dev了,配置代码是这样的:


new BundleAnalyzerPlugin({
  analyzerMode: 'static',
  openAnalyzer: false
})

网上查说可能需要装Chrome,但我的开发环境是无头浏览器,不想装浏览器。有没有其他解决办法?

我来解答 赞 12 收藏
二维码
手机扫码查看
2 条解答
Prog.若溪
这个错误是因为插件默认会尝试调用本地的Chrome来生成报告,但在无头环境下确实会报这个错。可以试试这样,把配置改成使用无头模式:

new BundleAnalyzerPlugin({
analyzerMode: 'static',
openAnalyzer: false,
defaultSizes: 'parsed',
generateStatsFile: true,
statsOptions: { source: false }
})

关键是加上generateStatsFile和statsOptions这两个选项,可以让它不依赖浏览器直接生成报告文件。

另外建议你再安装一个依赖包:npm install puppeteer --save-dev,这是个无头Chrome,装了之后插件会自动使用它来生成报告,就不用担心环境问题了。

我之前在CI环境也遇到过类似情况,这么配完就正常了。如果还有问题可以看看具体报错信息,咱们再调整。
点赞
2026-02-20 09:05
设计师立顺
这个错误是因为插件默认尝试启动Chrome来生成报告,但你的环境里没有Chrome。你可以改用内置的静态HTML模式,完全不需要浏览器。

修改配置代码如下:
new BundleAnalyzerPlugin({
analyzerMode: 'static',
openAnalyzer: false,
generateStatsFile: true,
statsOptions: { source: false }
})


如果还有问题,检查一下Node版本是否太低。
点赞 8
2026-01-31 09:01