我已经通过“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

当前回答

该问题仅在Visual Studio的任务运行器资源管理器中出现,而不是从命令行或PowerShell运行时出现。

我意识到VS忽略了我用NVM设置的Node版本。

这篇文章给出了答案:配置Visual Studio的Task Runner Explorer使用哪个NPM?通过将PATH变量设置为比VS中的外部工具更高的优先级,它使用的是NVM设置的Node版本,而不是与VS一起安装的版本。

其他回答

当我们使用s3 NPM包时,也会出现此错误。所以问题出在优雅的fs包上——我们需要更新它。它在4.2.3中运行良好。

所以只需查看日志跟踪中显示的NPM包,并根据4.2.3更新优雅的fs。

对于在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。

我在Node.js 12/13和Gulp.js 3上也遇到了一个错误。移动到Node.js 11是有效的。

一分钟内修复:

只需遵循以下步骤。我使用的是Windows 10,它非常适合我!

在package.json所在的目录中,创建一个npm-shrinkwrap.json文件,其中包含以下内容:{“相关性”:{“优雅的fs”:{“版本”:“4.2.2”}}}运行npm install,不用担心,它会用一堆内容更新npm-shrinkwrap.json。一口气开始这个项目。

降级到Node.js稳定版为我解决了这个问题,因为它发生在我升级到Node.js12之后:

sudo n 10.16.0