You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用nwbuild编译Node.js应用时出现primordials未定义错误求助

解决Node.js 20 + nwbuild构建时的ReferenceError: primordials is not defined错误

这个错误是因为你使用的node-webkit-builder(即nwbuild)依赖的旧版graceful-fs(v3.x及以下)与Node.js 12+版本不兼容——Node.js 12移除了primordials内部API,而旧版graceful-fs仍在调用它。

下面是几种可行的解决办法:

1. 降级Node.js到兼容版本

node-webkit-builder是已停止维护的工具,对高版本Node支持不佳。可以用nvm切换到Node.js 16.x或14.x(LTS版本):

  • 安装指定版本:nvm install 16
  • 切换到该版本:nvm use 16
    之后重新执行构建命令即可。

2. 替换为维护中的官方构建工具nw-builder

官方已不再维护node-webkit-builder,推荐使用更新的nw-builder,它支持高版本Node:

  • 卸载旧工具:npm uninstall -g node-webkit-builder
  • 安装新工具:npm install -g nw-builder
  • 修改构建命令,例如原来的nwbuild ./app可替换为nwbuild --mode=build ./app(具体参数可参考工具内置文档)

3. 强制升级依赖(应急方案)

如果不想换工具或降级Node,可通过npm的overrides强制让node-webkit-builder使用兼容的graceful-fs版本:
在项目的package.json中添加以下配置:

"overrides": {
  "node-webkit-builder": {
    "graceful-fs": "^4.2.11"
  }
}

然后重新安装依赖:npm install,再执行构建命令。


内容的提问来源于stack exchange,提问作者Sahil Garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 09:40:14