我试了一下:

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

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

如何在Windows上做到这一点?


当前回答

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

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

其他回答

到目前为止,我发现更新Node.js最简单的方法是使用Chocolatey。 使用Chocolatey在Windows上安装或更新最新版本的Node.js:

步骤1:首先,确保已经安装了Chocolatey。如果没有,请使用管理shell通过cmd.exe或PowerShell.exe安装chocolatey。欲了解更多信息,请访问:https://chocolatey.org/docs/installation

步骤2:使用cmd.exe安装。执行如下命令:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

要使用PowerShell.exe安装,请访问:https://chocolatey.org/docs/installation

步骤3:在cmd.exe上使用以下命令安装或更新(在管理模式下)

安装Node.js: cinst nodejs.install

更新Node.js: cup nodejs.install

PowerShell不直接执行npm,所以我建议使用

.\npm install -g npm-windows-upgrade
.\npm-windows-upgrade

但它失败了:

你想安装npm 6.1.0,但已经安装的版本是3.10.10。

一个常见的原因是尝试“npm安装npm”或“npm升级npm”。到目前为止,唯一的解决方案是完全卸载Node.js,然后重新安装。有关一个小教程,请参见http://aka.ms/fix-npm-upgrade(死链接)。

请考虑向npm-windows-upgrade报告您的问题。

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

您可以使用这些命令:

npm cache clean
npm update -g [package....]

如果要从以前版本的node升级,则需要更新所有现有的全局包。 您还可以指定要更新的包名。

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

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

希望这能有所帮助。