我试了一下:

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

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

如何在Windows上做到这一点?


当前回答

这对我来说很好

以管理员身份运行命令提示符 导航到包含nodejs的文件夹(例如。C:\Program Files\ nodejs) 执行Powershell -ExecutionPolicy Unrestricted命令 运行npm-windows-upgrade 这将显示可供安装的版本列表。只需通过移动上/下键选择您想要的版本并按Enter。 这会更新你的npm 检查npm的当前版本 运行npm——version

命令提示符截图

其他回答

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

这对任何人都适用。我有零愿望运行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)

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

前面的答案适用于安装一个新版本的Node.js(可能是最好的选择),但如果你依赖于特定的Node.js版本,那么下面的答案也适用:"npm install npm -g"。在命令前后运行npm -v进行验证。

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

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

你可以使用Chocolatey,它是windows的包管理器(就像Debian Linux的apt-get)。

重新安装(您可能需要卸载以前安装的版本)

> choco install nodejs

更新到最新版本

> choco update nodejs

对于NPM

> choco update npm

这是维护NODE.Js i NVM版本的最佳工具

Windows版本管理器(nvm) 但对于Windows,需要安装程序。现在下载!这一直是一个节点版本管理器,而不是一个io.js管理器,所以没有对io.js的支持。支持节点4+。