修复primordials在nodejs未定义的问题

303 阅读1分钟

场景

在一个使用gulp@^3.9.1nodejs@14.15.2版本的项目,当执行gulp build时,遇到下图的问题:

image.png

这个问题的起因是graceful-fs@^3.0.0覆盖了Node.jsfs 模块:

This issue stems from the fact that gulp@3.9.1 depends on graceful-fs@^3.0.0 which monkeypatches Node.js fs module.

如何解决

  1. 先删除node_modules文件夹
$ rimraf node_modules
# or
$ rm -rf node_modules
  1. 修改package.json文件,将原^3.9.1修改为^4.0.0
"devDependencies": {
    "gulp": "^4.0.0",
  },
  1. 再次执行npm install => npm build,已成功完成build

image.png

期间试过,nvm安装node 11.15.0,或在根目录下创建npm-shrinkwrap.json文件等等,但均以失败告终,参考链接,只有升级gulp才彻底解决了该问题。