ReferenceError: primordials is not defined
好久没玩gulp
了,最近有个项目需要用到这货,npm install
操作之后,查看任务:
gulp -T
居然报如下错误:
fs.js:45
} = primordials;
^
ReferenceError: primordials is not defined
ReferenceError: primordials is not defined 说primordials
这家伙没被定义,结果各种搜索后了解到说gulp版本和node版本不兼容,现在看下我本地的版本:
$ gulp --version
CLI version: 2.2.0
Local version: 3.9.1
$ node -v
v14.17.0
网上说是gulp 3.x
版本和node 12.x
版本不兼容,我这都14的版本了,应该是从12版本开始出现这个问题的。
解决方法
问题找到,那就更新gulp版本咯,最新的好像已经4.x
了,但是这货我又不经常用,更新了干嘛,当然还有另一种就是降低node版本,但时代在进步,你敢要要倒退?
所以找到了另一个解决方法,使用npm shrinkwrap
锁定依赖版本:
- 项目根目录新建
npm-shrinkwrap.json
- npm-shrinkwrap.json内容修改如下:
{
"dependencies": {
"graceful-fs": {
"version": "4.2.2"
}
}
}
然后试着重新执行npm install
,一路畅通,最后完美解决。
上面就是ReferenceError: primordials is not defined报错的解决方法。
参考:https://timonweb.com/javascript/how-to-fix-referenceerror-primordials-is-not-defined-error/