如何重新安装损坏的 npm
Posted
技术标签:
【中文标题】如何重新安装损坏的 npm【英文标题】:How to Reinstall Broken npm 【发布时间】:2018-09-19 18:12:54 【问题描述】:我刚刚安装了节点v9.11.1
,当我尝试使用 npm 时,我不断收到以下错误:
npm WARN npm npm does not support Node.js v9.11.1
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8.
npm WARN npm You can find the latest version at https://nodejs.org/
我尝试执行npm i -g npm
,但它无法自行更新,它只是不断抛出与上面相同的错误。
当我运行npm -v
时,它显示5.5.1
,目前最新版本似乎是5.8.0
。
我尝试删除文件夹并在 node.js 安装程序上运行修复功能,但它没有替换模块。
【问题讨论】:
我的 npm 安装也失败了。就我而言,尝试运行任何 npm 命令时出现以下错误:TypeError: Class extends value undefined is not a constructor or null at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44) at Module._compile (node:internal/modules/cjs/loader:1101:14) [...]
【参考方案1】:
删除全局 NPM 文件夹
https://***.com/a/5926706/349659
npm list -g
对于 Windows,这很可能是:
%AppData%\npm\node_modules
您可以将其粘贴到文件夹的地址栏中,它会将您带到那里。
在那里删除名为npm
的文件夹。
下载最新版本的 NPM
https://github.com/npm/cli/releases/latest
获取 zip 并将其解压缩到您刚刚从中删除 npm 文件夹的 node_modules
文件夹。
将您从 zip 中提取的文件夹重命名为 npm
如果您收到有关文件路径或名称太长的任何警告,请跳过警告。
祝你好运
现在您应该可以运行 npm i -g npm
来更新/重新安装 npm 而不会出现任何警告。
如果您在 Windows 中遇到有关路径或文件名太长的错误,我发现此步骤尤其重要。
您可能会收到以下错误。如果您确实删除或移动了它列出的文件,您应该能够成功运行npm i -g npm
。
npm ERR! Refusing to delete C:\Program Files\nodejs\npx.cmd: is outside C:\Program Files\nodejs\node_modules\npm and not a link
npm ERR! File exists: C:\Program Files\nodejs\npx.cmd
npm ERR! Move it away, and try again.
npm ERR! Refusing to delete C:\Program Files\nodejs\npm.cmd: is outside C:\Program Files\nodejs\node_modules\npm and not a link
npm ERR! File exists: C:\Program Files\nodejs\npm.cmd
npm ERR! Move it away, and try again.
【讨论】:
如果npm --version
抛出类似“错误 [ERR_REQUIRE_ESM]: Must use import to load ES Module”的错误,这个答案没有帮助。但我猜 OP 得到了一个干净的 npm
错误【参考方案2】:
不知何故,我安装了一个损坏的 npm,所以重新安装它自己(例如npm install -g npm
或类似的)将无法正常工作。
npm readme 实际上定义了一个非常简单的方法来使用这个curl
命令再次安装 npm:
curl -qL https://www.npmjs.com/install.sh | sudo sh
此安装脚本实际上会删除所有现有的 npm 安装,然后为您安装最新版本。
【讨论】:
这不起作用。它为我输出了failed!
curl -qL https://www.npmjs.com/install.sh | sudo sh
为我工作。最简单的解决方案,谢谢!【参考方案3】:
试试这个:
npm install npm@latest -g
更多信息here.
【讨论】:
我尝试这样做,但由于 npm 损坏,我无法运行 npm 来安装/重新安装 npm。 就我而言,这很有帮助。 @cts_ae:也许你需要先修复缓存,试试npm cache verify
或npm cache clean
【参考方案4】:
试试这个命令重新安装 npm
npm install -g npm-reinstall
如果您使用的是 linux 发行版,请添加 sudo
sudo npm install -g npm-reinstall
【讨论】:
【参考方案5】:对我来说,即使删除 npm 文件夹或重新安装 Node 也无济于事。将 Nodejs 和 npm 更新到我的 CentOS 6 的最新版本(Node 10.19,npm 6.14.3)后,我在 Node 正常的情况下遇到了 npm 的库错误。
什么有效 - n
节点版本管理器。使用此命令,我可以反转我的 npm 版本:n -p 6.13
link
【讨论】:
以上是关于如何重新安装损坏的 npm的主要内容,如果未能解决你的问题,请参考以下文章
安装的 Build Tools 版本 31.0.0 已损坏。使用 SDK 管理器删除并重新安装
重新安装 Mac OS 10.7 后 Django 开发环境损坏