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

Cordova项目运行gulp报错:primordials未定义(graceful-fs版本问题)

解决Gulp运行时的"primordials is not defined"错误

问题重现

构建Cordova应用时,运行gulp命令抛出如下错误:

ReferenceError: primordials is not defined
    at fs.js:47:5
    at req_ (/home/ubuntu/WebstormProjects/Edilapp/node_modules/natives/index.js:143:24)
    at Object.req [as require] (/home/ubuntu/WebstormProjects/Edilapp/node_modules/natives/index.js:55:10)
    at Object.<anonymous> (/home/ubuntu/WebstormProjects/Edilapp/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1174:10)
    at Module.load (node:internal/modules/cjs/loader:998:32)
    at Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:1022:19)
    at require (node:internal/modules/cjs/helpers:102:18)

排查信息

  • 项目package.json已显式声明graceful-fs@4.2.10,但package-lock.json显示natives@1.1.6以及glob、gulp-cssmin、vinyl-fs等依赖拉取了旧版本的graceful-fs
  • 环境配置:Node.js 18.7.0、npm 8.18.0、Gulp CLI 2.3.0、本地Gulp 3.9.1

解决方案

方案1:强制所有依赖使用指定版本的graceful-fs(快速修复)

利用npm 8+支持的overrides字段,强制所有子依赖统一使用graceful-fs@4.2.10:

  1. 在package.json的根节点添加如下配置:
"overrides": {
  "graceful-fs": "4.2.10"
}
  1. 删除现有依赖和锁文件:
rm -rf node_modules package-lock.json
  1. 重新安装依赖:
npm install
  1. 再次运行gulp命令验证

方案2:降级Node.js版本(兼容旧项目)

Gulp 3.x最高兼容Node.js 11.x,可通过nvm切换到兼容版本:

  1. 安装nvm(若未安装)
  2. 安装并切换到Node.js 10.x:
nvm install 10
nvm use 10
  1. 清理并重新安装依赖:
rm -rf node_modules package-lock.json && npm install

方案3:升级Gulp到4.x(长期解决方案)

Gulp 4.x完全兼容Node.js 12+,但需要修改gulpfile.js适配新语法:

  1. 卸载旧版Gulp:
npm uninstall gulp --save-dev
  1. 安装Gulp 4.x:
npm install gulp@^4.0.0 --save-dev
  1. 修改gulpfile.js:
    • 将旧的任务依赖写法(如gulp.task('default', ['task1', 'task2']))替换为gulp.series或gulp.parallel(如gulp.task('default', gulp.series('task1', 'task2')))
    • 调整所有任务的执行逻辑以适配Gulp 4.x的API
  2. 清理并重新安装依赖:
rm -rf node_modules package-lock.json && npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:09:28