已知错误 npm 无法在 Node.js v10.24.1 上运行,如何修复它,不要更新到最新版本?

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

我跑步:

npm run dev

错误:npm 已知不能在 Node.js v10.24.1 上运行

我已经研究并知道了命令:

npm install -g npm@latest
和其他一些命令来解决问题

但是问题是我的项目使用的是

nodejs 10
所以它不能使用最新的nodejs。那么有什么办法可以修复上述错误呢。谢谢你

更新: 我使用

nvm
来安装和管理nodejs的版本。我的操作系统是 macOs

node.js npm npm-install
10个回答
19
投票

我的问题是在不兼容的 Node 版本 (8.16.1) 上升级我的 npm 全局版本。

我尝试全局卸载 npm,但这也不起作用,因为我无法使用 npm 命令。

为了解决这个问题,我使用 nvm 切换到 Node 的兼容版本(

nvm use 14.0.0
- 这可以是与您全局安装的 npm 版本兼容的任何 Node 版本)。这允许我运行 npm 命令,因此我首先运行
npm uninstall -g npm
来删除我的 npm 全局版本,然后运行
nvm uninstall 8.16.1
来删除我的错误 Node 版本。

然后我能够重新安装 Node 8.16.1 (

nvm install 8.16.1
),并随之而来的是兼容 npm 版本的全新安装。


9
投票

我碰巧正在从事一个基于

node 10
的项目。

更多详细信息有助于更好地理解问题,但我怀疑这是兼容性问题。

尝试这些:

  • 下载并安装最新版本的nodejs。
  • 打开终端并使用
    node -v
    验证您拥有最新版本。使用
    npm -v
    验证您的 npm 版本。
  • 既然您已经安装了
    nvm
    ,请运行
    nvm install 10
    ,然后运行
    nvm use 10
  • 再次验证您的版本。就我而言,
    node
    v10.24.1
    npm
    6.14.12
  • 使用
    npm run dev
    启动您的应用程序。请检查您
    package.json
    以确保您使用的是正确的启动命令。

8
投票

我遇到了同样的问题,我运行了命令,它解决了 NPM 的问题

sudo n latest

节点:v10.19.0 NPM:8.9.0

参考


8
投票

我错误地升级了npm并遇到了同样的问题。

解决我问题的唯一方法是删除以下两个目录:

C:\Users\<username>\AppData\Roaming\npm
C:\Users\<username>\AppData\Roaming\npm-cache

3
投票

npm 已知不能在 Node.js v10.24.1 上运行,通常人们将 npm 版本升级到最新或最近的版本,但当涉及到 Node 10 版本时,您可以使用 npm 版本 6.4.1 或 6 系列。通常,npm 6.4.1 将随 Node js 10.24.1 一起提供,但如果您提供了任何 npm update cmd,则需要转到 C:\Users\username\AppData\Roaming 并删除 npm 和 npm 缓存文件夹,然后删除 C 中的 npm 文件夹:\Users\username\AppData\local 然后使用 npm -v 检查 npm 版本。完成此操作后安装角度版本


2
投票

感谢@Oduola Olumide 周日的回复。我已经按照你的方法做了,但是还是没有解决问题。

我通过删除最新的nodejs版本并使用正常的node v10.24.1

来修复它

在此输入链接描述 -> 我用这个删除了最新的nodejs版本


2
投票

我也有同样的问题。 我正在使用带有 nvm 的节点 12

然后,我切换到节点16,用

nvm uninstall 12
卸载了版本12,然后用
nvm install 12
再次安装它,它工作正常


1
投票

当你的 npm 版本不是你想象的那样时,就会发生此错误......

例如,您下载一个nodejs pkg并安装。运行

node -v
npm -v
...
npm -v
提供将您带到此处的错误。

这意味着您没有使用安装的nodejs pkg版本,而是在某处使用一些残留的版本 - 来自其他安装尝试

就我而言,我有一个 Homebrew 安装版本的 npm,但我没有意识到它的存在。

您可以使用“where”命令找到位置,至少在 Mac 上是这样。

where npm

这将返回您的 npm 位置的路径。找到不属于的那个,然后把它踢掉。

然后你的 npm -v 将返回预期的版本号输出。

现在您可以执行 npm 命令了。


0
投票

对于macOS下使用的

nvm
,我是这样解决这个问题的

首先,运行

nvm ls-remote
获取最新版本的
v10

->     v10.24.1   (Latest LTS: Dubnium)

然后通过

安装最新版本的
v10

nvm install 10.24.1 --latest-npm

0
投票

如果这里有人需要安装支持节点 10 的 npm 版本(7.24.2),而不是升级节点。

这就是我所做的:

url=`(curl -qSsL https://registry.npmjs.org/npm/7.24.2; echo "") | sed -e 's/^.*tarball":"//' | sed -e 's/".*$//'`
curl -qSsL -o npm.tgz "$url"
bin/npm-cli.js install -gf ../npm.tgz # in case npm is not installed where "which npm" points to, you might need to add --prefix=$(which npm | sed 's/\/bin\/npm//')

参考的是7.24.2的安装脚本https://github.com/npm/cli/blob/v7.24.2/scripts/install.sh

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