gulp 包任务 -ReferenceError: primordials 未定义

Posted

技术标签:

【中文标题】gulp 包任务 -ReferenceError: primordials 未定义【英文标题】:gulp Package task -ReferenceError: primordials is not defined 【发布时间】:2020-03-10 09:18:15 【问题描述】:

团队,

我的 Ci Pipeline azure 出现以下错误。 我尝试了How to fix ReferenceError: primordials is not defined in node 的解决方案,但没有运气

以下错误:

##[section]Starting: gulp Package-Generate
==============================================================================
Task         : Gulp
Description  : Node.js streaming task based build system
Version      : 0.141.2
Author       : Microsoft Corporation
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613721)
==============================================================================
[command]C:\npm\prefix\gulp.cmd Package-Generate --gulpfile d:\a\1\s\gulpfile.js --configuration release
fs.js:27
const  Math, Object  = primordials;
                         ^

ReferenceError: primordials is not defined
    at fs.js:27:26
    at req_ (d:\a\1\s\node_modules\natives\index.js:143:24)
    at Object.req [as require] (d:\a\1\s\node_modules\natives\index.js:55:10)
    at Object.<anonymous> (d:\a\1\s\node_modules\graceful-fs\fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
##[error]Gulp failed with error: C:\npm\prefix\gulp.cmd failed with return code: 1
##[section]Finishing: gulp Package-Generate

【问题讨论】:

这能回答你的问题吗? How to fix ReferenceError: primordials is not defined in node @Tobias : 它是由建筑师修复的,所以不确定解决方案。 【参考方案1】:

我在使用 Gulp 3.9.1NodeJS 12.14.0 时遇到此错误。

我已经解决了卸载NodeJS 12.14.0和安装NodeJS 10.13.0版本的问题。

然后一切正常。

【讨论】:

【参考方案2】:

我通过使用 Node.js 工具安装程序和目标节点版本 10x 解决了这个问题。将此作为您的第一项任务。这样我就不必将 gulp 升级到 4。我在 ubuntu-16.04 上构建

【讨论】:

【参考方案3】:

如果您使用的是 Microsoft 托管代理,nodejs 的版本是 automatically updated 到最新的 LTS。

所以现在您必须更新您的构建以使用 Gulp 4。我发现 this blog 对迁移很有帮助。

【讨论】:

以上是关于gulp 包任务 -ReferenceError: primordials 未定义的主要内容,如果未能解决你的问题,请参考以下文章

188.gulp创建任务

如何使用节点一次安装多个 gulp 包?

使用Gulp将所有bower包字体文件复制到build目录

基于 Laravel 开发博客应用系列 —— 从测试开始:使用Gulp实现自动化测试

gulp基本用法

gulp的简单使用