即使安装了节点和 npm,任何 npm 命令也未运行

问题描述 投票:0回答:1

我无法运行任何 npm 命令,甚至无法运行“init”或“version”命令。它向我显示以下错误 __>node is installed but on checking the npm version it shows error

我卸载了节点并重新安装,但问题仍然相同。当我安装 npm 时,它开始显示此错误。

node.js node-modules npm-install referenceerror
1个回答
0
投票

您遇到的错误消息,

ReferenceError: primordials is not defined
,通常表示您正在使用的 Node.js 和 npm 版本之间存在兼容性问题。
primordials
对象是 Node.js 内部结构的一部分,用于各种核心模块。不过后来的版本被删除了,还有一些模块或者插件

尚未更新以支持较新版本的 Node.js 可能仍在尝试访问它。

鉴于您已经尝试重新安装 Node.js,这里有解决问题的分步指南:

  1. 清除npm缓存:

    npm cache clean --force
    
  2. 重新安装 Node.js: 确保安装的 Node.js 版本与您使用的 npm 版本兼容。为了稳定性,您可能需要选择 LTS(长期支持)版本。

  3. 更新npm: 重新安装 Node.js 后,尝试将 npm 更新到最新版本以确保兼容性:

    npm install -g npm@latest
    
  4. 检查需要更新的全局包: 如果安装了任何全局包,它们可能需要更新到与较新的 Node.js 版本兼容的版本:

    npm outdated -g --depth=0
    npm update -g
    
  5. 修复全局包链接: 有时,您可能需要重新链接您拥有的任何全局包:

    npm link <package_name>
    
  6. 重新安装全局包: 如果更新不起作用,您可能需要卸载然后重新安装全局 npm 软件包:

    npm uninstall -g <package_name>
    npm install -g <package_name>
    
  7. 检查环境变量: 确保您的 PATH 环境变量包含 Node.js 和 npm 的路径。这可能会因您的操作系统而异。

  8. 手动清理(如有必要): 在某些情况下,您可能需要在重新安装之前手动从系统中删除 Node.js 和 npm 文件。

如果这些步骤都不能解决问题,您可能需要安装旧版本的 Node.js,该版本已知可以在没有此问题的情况下工作,或者寻找

primordials
的 polyfill,以使旧模块可以与较新的 Node 一起使用。 js 版本。然而,由于潜在的安全性和稳定性问题,通常不推荐后一种选择。

© www.soinside.com 2019 - 2024. All rights reserved.