我试了一下:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

...但这并没有起作用。

如何在Windows上做到这一点?


当前回答

注意:这个问题是专门问如何升级npm,而不是Node.js。如果你想在windows下通过命令行更新Node.js,我建议运行winget upgrade -q NodeJS或使用chocolatey。

我应该选择什么方法来更新NPM?

Node.js v16或更高版本? 安装NPM Node.js v14或以下? 考虑更新到Node.js的最新LTS版本 npm-windows-upgrade

使用npm-windows-upgrade进行升级

以管理员身份运行PowerShell

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade

注意:如果你运行Node.js安装程序,它会替换Node.js版本。

在Node.js安装npm的地方升级npm。 不修改默认路径。 不更改默认的全局包位置。 允许轻松升级和降级,并安装特定的版本。 NPM和Node.js之间匹配的版本列表(https://nodejs.org/en/download/releases/) -但你需要下载Node.js安装程序并运行它来更新Node.js (https://nodejs.org/en/)

使用npm升级

npm install -g npm

注意:一些用户仍然报告用npm更新npm的问题,但我没有v16+的经验。

其他回答

不管怎样,我必须把几个答案结合起来……

在控制面板中卸载Node.js。 删除目录C:\Program Files (x86)\nodejs\和C:\Program Files\nodejs\(如果存在)。 安装最新版本http://nodejs.org/download/

我遵循josh3737并从Node.js主页安装了最新的MSI。

但我有一个额外的问题,我仍然在命令行上使用旧版本的Node.js和npm。这个问题是由新安装引起的,而且是安装进去的

C:\Program Files (x86)\nodejs\

而不是以前的安装中

C:\Program Files\nodejs\

新安装在旧目录之后将新目录添加到我的path变量中。所以旧的装置仍然是路径上的活动装置。将C:\Program Files\nodejs\从系统路径中删除,并将c:\ users \…\AppData\Roaming\npm从用户路径重新启动命令行,新的安装是活动的。

可能最小路径是本地问题,与新安装无关。我有两个链接到AppData\Roaming\npm。也许这个问题也可以通过先卸载Node.js然后再安装新版本来解决。

这可能会帮助到某些人。无论是“npm-windows-upgrade”还是安装程序本身都不能为我做到这一点。Powershell仍然使用旧版本的node和npm。

这就是我所做的(为我工作): 1. 从nodejs.org下载最新的安装程序。安装节点。它会更新你的节点;到处(Powershell, cmd等)。 2. 安装npm-windows-upgrade包(npm Install -g npm-windows-upgrade),然后运行npm-windows-upgrade。

我没有卸载任何东西,也没有设置任何路径。

如何更新Node.js:

卸载node . js。点击开始菜单,输入“更改或删除程序”,点击显示的项目,在列表中找到Node.js并卸载它。 删除目录C:\Program Files (x86)\nodejs\和C:\Program Files\nodejs\(如果存在)。 安装最新的https://nodejs.org/en/download

卸载/删除/安装似乎是不必要的,但通常是这样的,这将节省您的时间。 这些指令来自微软。

如何更新NPM:

https://www.npmjs.com/package/npm-windows-upgrade

这是在windows上升级npm的官方文档。

所有这些都在Windows 10(2017)上进行了测试和工作。

为了更新NPM,这对我来说很有效:

在shell中导航到节点安装目录,例如C:\Program Files (x86)\nodejs 运行NPM install NPM(没有-g选项)