admin管理员组文章数量:1532290
gulp项目中ReferenceError: primordials is not defined报错解决方法
现状
gulp项目中,运行gulp build后报错,报错信息如下:
fs.js:40
} = primordials;
^
ReferenceError: primordials is not defined
at fs.js:40:5
ReferenceError: primordials is not defined 意思是primordials这个没被定义,是因为项目中gulp版本和node版本不兼容,先看下本地的版本:
gulp --version
CLI version: 2.3.0
Local version: 3.9.1
node -version
v14.6.0
node >=12 && gulp <= 3的话,他们的版本不兼容,我本地是14的版本。
解决方法
找到原因后,有两种解决方法,降级node和升级gulp
解决方法之:降级node
不建议用这种方法,毕竟时代在进步,还是不要倒退的好
解决方法之:升级gulp(1)
不降级node版本,那就更新gulp版本,最新的已经4.x了,但是这个gulp又不经常用,又不想更新他
那就用另一个解决方法,使用npm shrinkwrap锁定依赖版本:
1、项目根目录新建npm-shrinkwrap.json
2、npm-shrinkwrap.json内容修改如下:
{
"dependencies": {
"graceful-fs": {
"version": "4.2.2"
}
}
}
然后重新执行npm install,这时候再去执行gulp相关操作就不会报错了。
注意:这个文件在执行过一次npm install以后,就失效了,下次再执行就没有效果了。
解决方法之:升级gulp(2)
在package.json文件里加入以下代码:
{
"scripts": {
"preinstall": "npx npm-force-resolutions"
},
"resolutions": {
"graceful-fs": "4.2.2"
}
}
npm-force-resolutions会更改package-lock.json文件来设置graceful-fs到指定的版本。
这个方法每次执行npm install都会生效
本文标签: 报错解决方法项目gulpReferenceError
版权声明:本文标题:gulp项目中ReferenceError: primordials is not defined报错解决方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1725725140a1038859.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论