我的问题,我不能安装我的包或升级npm通过"npm install -g npm@latest"-因为这个问题。
- 错误:npm无法在Node.js v10.19.0上运行您需要升级到更新的Node.js版本才能使用此功能npm的版本。您可以在https://nodejs.org/ 找到最新版本。
我已经安装了最新版本的node。当前节点-v显示v16.15.1但是NPM仍然认为我用的是旧的。如何更新我的npm的节点版本?P.S.我现在的操作系统是Ubuntu 20.08
因为NPM是通过shim安装的。您必须执行以下步骤
- 卸载分布npm和nodejs(防止将来冲突)
- 删除shim中手动安装的npm(例如在我的情况下与一些aws框架),并添加configs
- 清理包缓存(可选) 安装nodejs和npm
- 正式升级nodejs
sudo -i
apt remove --purge nodejs npm
apt clean
rm-rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
apt install npm nodejs
npm cache clean -f
npm install -g n
n stable
exit
复制:https://askubuntu.com/a/1382566/391310
简短回答
最简单的方法是升级到Node.js v12:
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
长回答
你可以更新到新的node .js版本,参见:https://github.com/nodesource/distributions#readme然而,根据github上的评论,跳到最新版本可能会导致突破性的变化。(我没注意到)
感谢@SaidbakR下面的评论:要查看哪个版本是兼容的,请检查下表:
| NodeJS | `npm --version` |
|---------|-----------------|
| Node 16 | 6.0+ |
| Node 14 | 4.14+ |
| Node 12 | 4.12+ |
| Node 10 | 4.9+, <6.0 |
我跳过了不均匀的数字,因为它们没有长期支持。截至2022年5月,Node 18处于预发布状态。
如果你想更新到例如Node.js 16,从上面的代码编辑数字:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
这个答案是基于(如何更新node.js)以及(兼容node.js和npm-Versions)
npm cache clean -f
和npm install -g npm@latest