场景
在一个使用gulp@^3.9.1,nodejs@14.15.2版本的项目,当执行gulp build时,遇到下图的问题:
这个问题的起因是graceful-fs@^3.0.0覆盖了Node.js的fs 模块:
This issue stems from the fact that
gulp@3.9.1depends ongraceful-fs@^3.0.0which monkeypatches Node.jsfsmodule.
如何解决
- 先删除
node_modules文件夹
$ rimraf node_modules
# or
$ rm -rf node_modules
- 修改
package.json文件,将原^3.9.1修改为^4.0.0
"devDependencies": {
"gulp": "^4.0.0",
},
- 再次执行
npm install=>npm build,已成功完成build
期间试过,nvm安装node 11.15.0,或在根目录下创建npm-shrinkwrap.json文件等等,但均以失败告终,参考链接,只有升级gulp才彻底解决了该问题。