Node.js和npm的哪些版本与gulp 3.9.1兼容?

8
我电脑上安装了Node v14.19.0,NPM v6.14.16和gulp CLI版本2.3.0,还有Local版本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中进行了一些更改。

gulp 3.9.1需要哪个确切版本的node和npm才能正常工作?

1个回答

12

Gulp 3.9.1 可以与Node 8(最新的Node 8版本是8.17.0)一起使用,但不能与更新的版本兼容。这是一个已经被淘汰且不安全的Node版本。同样,gulp项目作为一个整体也是如此(最后一次发布是在2019年)。 如果它是一个传统的项目,我可以理解,但在新项目中使用它应该是可追究责任的(注意:这只是我的个人意见)。 如果你不得不使用它,并且已经安装了其他Node版本,我建议使用nvm在环境中管理多个Node版本。


2
非常有帮助,尝试构建一些遗留代码,谢谢! - JR Lawhorne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接