我的计算机上安装了 Node v14.19.0、NPM v6.14.16 和 gulp CLI 版本 2.3.0 以及本地版本 3.9.1(操作系统是 Ubuntu 22.04)。
问题是,当我运行任何 gulp 命令时,我收到此错误
ReferenceError: primordials is not defined
at fs.js:40:5
at req_ (/home/opera/Desktop/my-site/public/node_modules/natives/index.js:143:24)
at Object.req [as require] (/home/opera/Desktop/my-site/public/node_modules/natives/index.js:55:10)
at Object.<anonymous> (/home/opera/Desktop/my-site/public/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js:1:37)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
在查看了一些答案并尝试提供的解决方案后,我找到了一个可以解决上述问题的解决方案,但不幸的是产生了另一个错误。
有效的解决方案是升级 gulp 版本,但它带来了另一个问题,这似乎是 v4 中的一些更改。
node 和 npm 的具体版本与 gulp 3.9.1 配合良好?
Gulp 3.9.1 将与 Node 8 一起使用(最新的 Noded 8 是 8.17.0),并且没有任何更新。这是一个死亡且不安全的节点版本。整个 gulp 项目也是如此(2019 年最后一个版本)。 我可以理解它是否是一个遗留项目,但在新项目中使用它应该是可起诉的(注意:这只是我个人的意见)。 如果您被迫使用它并且已经安装了其他节点版本,我建议使用 nvm 来管理环境中的多个节点版本。