gulp构建时报错 ReferenceError: primordials is not defined

执行npm run build时提示以下错误:ReferenceError: primordials is not defined
在这里插入图片描述
问题的原因:是安装gulp版本与node版本不兼容的问题

解决办法:

方法1

降低node版本到 node@10, 升级gulp@4
操作步骤:
1.先查看node 版本号 node -v

2.查看当前文件夹下的 gulp 版本号gulp -v

3.如果发现node版本号 过高,比如,我之前的node升级到了最新,node@14,回退node版本到 node@11

先安装npm版本控制器npm install -g n
切换版本sudo n v11.15.0
安装node npm i -g node
查看node版本 node -v

4.查看node 是否回退成功,如果没问题,删除当前文件夹的node_modules文件夹,重新安装依赖 npm install

5.安装成功后确认 gulp 版本为4

6.开启gulp,就可以正常启用了

或者还可以这样(推荐以下方法

方法2

如果你的项目不需要经常npm install
可以在package.json文件的同级目录下新建一个npm-shrinkwrap.json文件
在这里插入图片描述
输入以下内容:

{
  "dependencies": {
    "graceful-fs": {
      "version": "4.2.3"
    }
  }
}

注意这个文件在执行过一次npm install以后,下次再执行就没有效果了

方法3

在你的package.json文件里加入以下代码:

{
  // Your current package.json
  "scripts": {
    // Your current package.json scripts
    "preinstall": "npx npm-force-resolutions"
  },
  "resolutions": {
    "graceful-fs": "4.2.3"
  }
}

npm-force-resolutions会更改package-lock.json文件来设置graceful-fs到你想要的版本。
这个方法每次执行npm install都会生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值