我跑步:
npm run dev
错误:npm 已知不能在 Node.js v10.24.1 上运行
我已经研究并知道了命令:
npm install -g npm@latest
和其他一些命令来解决问题
但是问题是我的项目使用的是
nodejs 10
所以它不能使用最新的nodejs。那么有什么办法可以修复上述错误呢。谢谢你
更新: 我使用
nvm
来安装和管理nodejs的版本。我的操作系统是 macOs
我的问题是在不兼容的 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 版本的全新安装。
我碰巧正在从事一个基于
node 10
的项目。
更多详细信息有助于更好地理解问题,但我怀疑这是兼容性问题。
尝试这些:
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
以确保您使用的是正确的启动命令。我错误地升级了npm并遇到了同样的问题。
解决我问题的唯一方法是删除以下两个目录:
C:\Users\<username>\AppData\Roaming\npm
C:\Users\<username>\AppData\Roaming\npm-cache
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 版本。完成此操作后安装角度版本
感谢@Oduola Olumide 周日的回复。我已经按照你的方法做了,但是还是没有解决问题。
我通过删除最新的nodejs版本并使用正常的node v10.24.1
来修复它在此输入链接描述 -> 我用这个删除了最新的nodejs版本
我也有同样的问题。 我正在使用带有 nvm 的节点 12
然后,我切换到节点16,用
nvm uninstall 12
卸载了版本12,然后用nvm install 12
再次安装它,它工作正常
当你的 npm 版本不是你想象的那样时,就会发生此错误......
例如,您下载一个nodejs pkg并安装。运行
node -v
、npm -v
... npm -v
提供将您带到此处的错误。
这意味着您没有使用安装的nodejs pkg版本,而是在某处使用一些残留的版本 - 来自其他安装尝试。
就我而言,我有一个 Homebrew 安装版本的 npm,但我没有意识到它的存在。
您可以使用“where”命令找到位置,至少在 Mac 上是这样。
where npm
这将返回您的 npm 位置的路径。找到不属于的那个,然后把它踢掉。
然后你的 npm -v 将返回预期的版本号输出。
现在您可以执行 npm 命令了。
nvm
,我是这样解决这个问题的
首先,运行
nvm ls-remote
获取最新版本的 v10
-> v10.24.1 (Latest LTS: Dubnium)
然后通过
安装最新版本的
v10
nvm install 10.24.1 --latest-npm
如果这里有人需要安装支持节点 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