我已经通过“npm install”安装了Node.js模块,然后尝试在命令提示符下执行gulp sass watch。之后,我得到了以下回应。

[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
                                  ^

ReferenceError: primordials is not defined

我在大口大口看之前已经试过了:

npm -g install gulp-cli

当前回答

升级到4.0.1并确保迁移https://fettblog.eu/gulp-4-parallel-and-series/#migration

其他回答

对于在ADOS CI Build中由于相同原因出现相同错误的任何人:

这个问题是我在寻求帮助时发现的第一个问题。我有一个ADOS CI构建管道,其中第一个Node.js工具安装程序任务用于安装Node.js。然后,npm任务用于安装Gulp.js(npm install-g gulf)。然后,下面的Gulp.js任务运行gulpfile.js中的默认任务。

当我将Node.js工具更改为安装12.x最新节点而不是旧节点时,Gulp.js的最新版本为4.0.2。结果与问题中描述的错误相同。

在这种情况下,对我有用的是将Node.js降级到最新的11.x版本,正如Alphonse R.Dsouza和Aymen Yaseen所建议的那样。在这种情况下,虽然不需要使用他们建议的任何命令,但只需将Node.js工具安装程序版本规范设置为11.x的最新Node.js版本。

安装并运行的Node.js的确切版本是11.15.0。我不必降级Gulp.js。

我也犯了同样的错误。当我更新了所有包,然后在package.json中提到了与本地工作系统相同的Node.js引擎版本和npm版本时,我终于解决了这个问题。

 "engines": {
    "node": "10.15.3",
    "npm": "6.9.0"
 }

我在Heroku上部署时遇到了这个错误。

更多信息,请查看Heroku支持。

解决问题的步骤:

我已通过以下步骤解决了问题:

安装NVM使用命令nvm install lts/dubnium安装lts/dubinium使用命令nvm install lts/dubnium使用lts/dubinium

现在你可以大口大口地展开了。

我在安装npm包webshot时遇到了同样的问题。

注意:这是该软件包的一个已知问题,因为它依赖于幕后优雅的fs。

修复:1。将优雅fs升级到4.x或更高版本

修复:2。改用webshot节点https://www.npmjs.com/package/webshot-node

这是因为系统中节点和gulf之间的兼容性问题。降级节点或升级gulf将解决此问题。

sudo npm i -g n
sudo n 11.15.0

尝试删除node_modules文件夹和package-lock.json文件,如果仍然无法工作,请使用npm i命令再次安装。