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

当前回答

检查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

其他回答

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

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

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

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

我在Windows 10上遇到了这个错误。结果是一个损坏的漫游配置文件。

npm ERR! node v12.4.0
npm ERR! npm  v3.3.12

npm ERR! primordials is not defined
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:

删除C:\Users\{user}\AppData\Roaming\npm文件夹解决了我的问题。

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

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

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

安装gulp并将Node.js版本添加到package.json文件中,如下所示:

{
  "dependencies": {
    "node":  "^10.16.3"
  }
}

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

sudo n 10.16.0