错误npm已知不能在Node.js v10.24.1上运行,如何解决,不要更新到最新的版本?
我运行:npm run dev
错误。npm已知不能在Node.js v10.24.1运行。
我研究了一下,知道这个命令。npm install -g npm@latest
和其他一些命令来解决这个问题
但问题是,我的项目使用的是nodejs 10
,所以不能使用最新的nodejs。那么有没有什么办法可以解决上述错误。谢谢你
更新:我使用nvm
来安装和管理nodejs的版本。而我的操作系统是macOs
我碰巧也在一个建立在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
,以确定你使用的是正确的启动命令。
我的问题是在不兼容的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版本。
我错误地进行了一次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更新的cmd,你需要去C:\Users\username\AppData\Roaming删除npm和npm cache文件夹,然后删除C:\Users\username\AppData\local中的npm文件夹,然后用npm -v检查npm版本。做完这些后,安装angular版本
谢谢@Oduola Olumide Sunday的回复。我已经按照你的方法做了,但仍然没有解决问题。
而我通过删除最新的nodejs版本并使用正常的node v10.24.1来解决这个问题。
在此输入链接描述 ->我用这个删除了最新的nodejs版本
对于在macOS下使用的nvm
,我以这种方式解决了这个问题。
首先,运行nvm ls-remote
以获得v10
的最新版本。
-> v10.24.1 (Latest LTS: Dubnium)
然后通过以下方式安装最新版本的v10
。
nvm install 10.24.1 --latest-npm
当你的npm版本与你所想的不一样时,就会发生这个错误...
例如,你下载一个nodejs pkg并安装。运行 node -v
, npm -v
....npm -v
提供了使你来到这里的错误。
这意味着你使用的不是nodejs pkg安装的版本,而是某个地方的残余,来自其他安装尝试的。
在我的例子中,我有一个Homebrew安装的npm版本,但我没有意识到它的存在。
你可以使用'where'命令找到这些位置,至少在mac上是这样的。
where npm
这将返回你的npm位置的路径。找到不属于你的那一个,并给它开机。
然后,你的npm -v将返回预期的版本号输出。
现在,你可以执行npm命令了。