【问题标题】:npm ReferenceError: primordials is not defined (node.js)npm ReferenceError: primordials 未定义 (node.js)
【发布时间】:2023-09-17 08:23:01
【问题描述】:

我知道这个问题已经发布了很多次,但我尝试了解决方案,但无法解决。我正在尝试使用 npm 但我收到此错误:

     evalmachine.<anonymous>:35
    } = primordials;
        ^
    
    ReferenceError: primordials is not defined
        at evalmachine.<anonymous>:35:5
        at Object.<anonymous> (C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\graceful-fs\fs.js:11:8)
        at Module._compile (internal/modules/cjs/loader.js:1138:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
        at Module.load (internal/modules/cjs/loader.js:986:32)
        at Function.Module._load (internal/modules/cjs/loader.js:879:14)
        at Module.require (internal/modules/cjs/loader.js:1026:19)
        at require (internal/modules/cjs/helpers.js:72:18)
        at Object.<anonymous> (C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:3:27)
        at Module._compile (internal/modules/cjs/loader.js:1138:30)

我什至无法执行npm -v 来查看版本。 我试图将节点降级到版本 10。 我多次尝试卸载-重新安装节点(从删除应用程序设置)。 我试图在 package.json 所在的 npm 文件夹中创建一个名为“npm-shrinkwrap.json”的文件。 但是没有用。

我在“用户/用户”路径中看不到“AppData”文件夹,但我可以通过命令行中的“cd”访问它。我不明白它是如何不可见的。

谢谢。

【问题讨论】:

    标签: javascript node.js windows npm referenceerror


    【解决方案1】:

    解决了!

    我知道我说我卸载了 npm,但仅仅从设置中卸载它是不够的。我试图卸载它,删除我计算机上的节点相关目录,遵循这篇文章:https://*.com/a/11178106/13806114。然后我再次安装了node,它工作了!

    谢谢。

    【讨论】:

    • 在我的例子中,这些目录(C:\Users\..\npm 和 npm-cache)包含很多东西,并且所有文件都在 2015-2017 年之前放弃了 nodejs 安装。令人惊讶的是,安装 nodejs 后,成功运行 npm install - 文件 node_modules\npm\node_modules\graceful-fs\fs.js 根本没有使用,实际上我的目录 C:\Users\..\npm 是空的。这意味着 npm 的行为是由一个旧的脚本结构决定的,我认为这是一个非常糟糕的想法/设计,至少正如这个错误所显示的那样非常令人困惑。
    【解决方案2】:

    它在graceful-fs中寻找“primordials”方法,试图重新安装这个依赖。

    关于npm,重装nodejs试试,可能你的npm坏了

    关于AppData在Windows中不可见或为隐藏目录,可在Windows资源管理器中通过路径访问

    【讨论】:

    • 我重新安装了,它工作正常。谢谢你。 (我之前无法正常卸载)