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

Node v15.7.0运行gulp报ReferenceError: primordials is not defined如何解决

报错原因

该错误由Gulp 4.0.2与Node.js v12+版本的不兼容直接导致:
Node.js在v12版本正式移除了内部核心模块的primordials接口,而Gulp 4.0.2依赖的旧版graceful-fs包仍然调用了这个已废弃的内部API,在高版本Node环境下运行时就会抛出该引用错误。你当前使用的Node v15.7.0属于已移除该接口的版本,和本地安装的Gulp 4.0.2存在适配冲突。

解决方案

可根据项目实际情况选择以下任意一种方案解决:

方案1:降级Node.js到v11.x及以下版本

无需修改项目依赖,适配成本最低:

  • 卸载当前Node v15.7.0,安装v11.15.0(v11系列最终稳定版)即可正常运行Gulp 4.0.2。
  • 如果需要同时保留多个Node版本用于不同项目,可以使用版本管理工具切换,Windows系统可使用nvm-windows,macOS/Linux系统可使用nvm。

方案2:升级项目Gulp版本到4.0.3及以上

不想降级Node的话可以升级Gulp修复兼容性问题:

  1. 卸载本地旧版Gulp:
    npm uninstall gulp --save-dev
  2. 安装兼容高版本Node的新版Gulp:
    npm install gulp@^4.0.3 --save-dev

注意:如果项目内有自定义Gulp任务依赖旧版Gulp的私有API,升级后需要做少量适配调整。

方案3:强制锁定兼容版本的graceful-fs

如果既不想降级Node,也不想升级Gulp,可以通过配置强制项目使用兼容高版本Node的graceful-fs:

  1. 在项目根目录新建npm-shrinkwrap.json文件,写入如下内容:
{
  "dependencies": {
    "graceful-fs": {
      "version": "4.2.11"
    }
  }
}
  1. 删除项目根目录的node_modules文件夹、package-lock.json文件,重新执行npm install安装依赖即可生效。

内容的提问来源于stack exchange,提问作者M K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:57:04