我试了一下:

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

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

如何在Windows上做到这一点?


当前回答

您可以使用这些命令:

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

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

其他回答

在Windows上使用升级npm

这是用户在Windows上升级npm的官方文档!

这是我的截图!

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报告您的问题。

如何更新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)上进行了测试和工作。

以管理员身份打开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

像一些人一样,我需要组合多个答案,我还需要设置一个代理。

这对任何人都适用。我有零愿望运行EXE文件或MSI文件..卸载/重新安装,或手动删除文件和文件夹。这就是1999年的情况:P

运行这个来更新NPM: 以管理员身份运行PowerShell npm i -g npm // 我不认为这段代码实际上升级了你下面的npm版本 Set-ExecutionPolicy unlimited -Scope CurrentUser -Force NPM install -g NPM -windows-upgrade npm-windows-upgrade (由“罗伯特”回答提供)

运行这个来更新Node.js:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\Program Files (x86)\nodejs\node.exe'    (courtesy of BrunoLM answer)

如果你得到' wget:无法找到路径....的一部分**,见下文…向下滚动。阅读网络响应…它至少要通过防火墙/代理(如果你有一个或已经运行了代码,请通过…)

否则

您可能需要设置代理

npm config set proxy "http://proxy.yourcorp.com:811"    (yes, use quotes)

2个可能的错误

It cannot find path of the path solution "where.exe node" (courtesy of Lonnie Best Answer) E.g. if Node.js is NOT living in "Program Files (x86)" perhaps with where.exe, it is living in 'C:\Program Files\nodejs\node.exe'. wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\Program Files\nodejs\node.exe' Now perhaps it tries to upgrade but you get another error, "node.exe is being used by another process." Close /shutdown other consoles .. command prompts and PowerShell windows, etc. Even if you're using npm in a command prompt, close it.

npm -v (3.10.8)

Node -v (v6.6.0)

完成了。我得到了我想要的版本。