我试了一下:

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

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

如何在Windows上做到这一点?


当前回答

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

其他回答

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

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

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

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

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

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

这对我来说很好

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

命令提示符截图

下载并运行最新的MSI。MSI会更新你安装的节点和npm。