npm run gulp primordials 未定义

Posted

技术标签:

【中文标题】npm run gulp primordials 未定义【英文标题】:npm run gulp primordials not defined 【发布时间】:2021-12-16 09:04:54 【问题描述】:

我正在尝试运行 npm run gulp 并且我想出了这个 primordials is not defined 错误(我还按照建议添加了 npm-shrinkwrap.json 文件,该文件在运行 npm install 后得到更新,但它没有' t fix my primordials is not defined 错误):

> gulp-tutorial@1.0.0 gulp
> gulp

fs.js:47
 = primordials;
    ^

ReferenceError: primordials is not defined
    at fs.js:47:5
    at req_ (/Applications/MAMP/htdocs/wordpress/wp-content/themes/theming-main/node_modules/natives/index.js:143:24)
    at Object.req [as require] (/Applications/MAMP/htdocs/wordpress/wp-content/themes/theming-main/node_modules/natives/index.js:55:10)
    at Object.<anonymous> (/Applications/MAMP/htdocs/wordpress/wp-content/themes/theming-main/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (node:internal/modules/cjs/loader:1095:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)

Node.js v17.0.1

有什么建议吗??? ?

【问题讨论】:

【参考方案1】:

原始元素由 Node.js 内部模块使用,最终用户脚本无法访问。 (这就是他们存在的全部意义。否则,您可能会修改 Object.prototype 并最终影响 Node.js 内部,从而导致奇怪的崩溃之类的事情。)

出现此错误的模块是natives 模块。 page for the package 说:

此模块依赖于 Node.js 的内部结构,并且会在某些时候中断。不要用,更新到graceful-fs@4.x。

听起来好像它已经坏了。使用npm ls natives 找出它在使用什么。 (运行该命令时,您可能需要位于 /Applications/MAMP/htdocs/wordpress/wp-content/themes/theming-main 目录中。)从那里,您可以尝试找出如何摆脱它。

另一种可能性是尝试降级到 Node.js 的早期版本,看看它是否适用于该版本。

【讨论】:

感谢您的帮助,对我来说这是版本不匹配的问题。我也有 2 个 NodeJS 安装路径,这让事情变得很糟糕。所以我将它们全部卸载,从头开始并使用 brew 重新安装。然后检查版本是否都兼容。现在它可以工作了,我可以继续开发了:)截至今天,我正在运行 Node v17.0.1 Npm v8.1.0 Gulp cli v2.3.0【参考方案2】:

问题在于版本不匹配。我也有 2 个 NodeJS 安装路径,这很糟糕。

我把它们都卸载了,从头开始用brew重新安装。

然后检查版本是否都兼容。

我还必须安装 node-sass 并参考此兼容性表以获得正确的版本 - https://github.com/sass/node-sass#node-version-support-policy

现在它可以工作了,我可以继续开发 :) 截至今天,我正在运行 Node v17.0.1 Npm v8.1.0 Gulp cli v2.3.0

【讨论】:

以上是关于npm run gulp primordials 未定义的主要内容,如果未能解决你的问题,请参考以下文章

人人开源打包部署,gulp 报错:ReferenceError: primordials is not defined

如何使用来自 VSCode 的 npm run 脚本进行调试?

ReferenceError: primordials is not defined 安装语义 UI 时出现错误

Visual Studio Task Runner Explorer - ReferenceError: primordials is not defined

npm ande gulp cmd

npm/gulp/nodejs