我试了一下:

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

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

如何在Windows上做到这一点?


当前回答

以管理员身份打开PowerShell。

要安装第一次,您可以使用这个小脚本下载最新的msi并运行它

$nodeLatest=((curl https://nodejs.org/download/release/latest/).Content | findstr x64.msi) -replace "<(.*?)>", "" -replace "\s+.+", "";
wget "https://nodejs.org/download/release/latest/$nodeLatest" -OutFile (join-path $env:TEMP node.msi); Start-Process (join-path $env:TEMP node.msi)

在未来的升级中,你可以下载node.exe并更新npm

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\Program Files\nodejs\node.exe'
npm i -g npm

现在你应该有了最新的节点和npm。


我更进一步,决定为Windows实现一个nvm。

https://github.com/brunolm/nvm

Install-Module -Name power-nvm

nvm install latest
nvm default latest

其他回答

要安装更新,只需从Nodejs.org网站下载安装程序并再次运行即可。新版本的Node.js和NPM将取代旧版本。

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

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

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

这对我来说在Windows 7 x64上更新npm很有效:

启动Windows 所有程序 node . js Node.js命令提示符(可选择单击) 以管理员身份运行 安装NPM 删除C:\Program Files\nodejs\npm.新的npm将在C:\Users\username\appdata\roaming\npm\npm.cmd

希望这能有所帮助。

就我而言,我发现我安装了两个Node.js副本。一个在“C:\Program Files\nodejs”下,另一个在“C:\Program Files (x86)\nodejs”下。

注意:这个问题是专门问如何升级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+的经验。