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

当前回答

如果问题不是由gulp引起的,请检查解压缩的npm模块。自从上次更新以来,已经有六年了。它不适用于Node.js>v11。

试试看:

npm install -g n

sudo n 11.15.0

其他回答

一分钟内修复:

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

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

检查Node.js版本:

 node --version

检查吞咽版本:

gulp -v

如果Node.js>=12,gulf<=3,请执行以下操作之一:

升级gulf

sudo npm install -g gulp

降级节点

sudo npm install -g n
sudo n 11.15.0

如何使用npm升级(或降级)Node.js

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

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

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

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

由于我的项目使用的是gulf版本4,所以我必须执行以下操作来解决这个问题

删除文件夹node_modules打开package.json并更新版本

以下是我使用的版本的详细信息

现在运行npm-install,然后运行gulp-default。错误应该消失了,您可能会看到:

从未定义任务:仅默认。

对我来说,Diego Fortes的答案只需一个小小的改变。

如果出现此错误,以下是我的工作流程:

npm安装npm安装gulf使用创建文件npm-shrinkwrap.json{“相关性”:{“优雅的fs”:{“版本”:“4.2.2”}}}npm-install(再次)(不是npm-install-gulp!非常重要-否则会返回错误)大口大口(正在工作)