我试了一下:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
...但这并没有起作用。
如何在Windows上做到这一点?
我试了一下:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
...但这并没有起作用。
如何在Windows上做到这一点?
当前回答
这可能会帮助到某些人。无论是“npm-windows-upgrade”还是安装程序本身都不能为我做到这一点。Powershell仍然使用旧版本的node和npm。
这就是我所做的(为我工作): 1. 从nodejs.org下载最新的安装程序。安装节点。它会更新你的节点;到处(Powershell, cmd等)。 2. 安装npm-windows-upgrade包(npm Install -g npm-windows-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+的经验。
这对我来说在Windows 7 x64上更新npm很有效:
启动Windows 所有程序 node . js Node.js命令提示符(可选择单击) 以管理员身份运行 安装NPM 删除C:\Program Files\nodejs\npm.新的npm将在C:\Users\username\appdata\roaming\npm\npm.cmd
希望这能有所帮助。
我遵循josh3737并从Node.js主页安装了最新的MSI。
但我有一个额外的问题,我仍然在命令行上使用旧版本的Node.js和npm。这个问题是由新安装引起的,而且是安装进去的
C:\Program Files (x86)\nodejs\
而不是以前的安装中
C:\Program Files\nodejs\
新安装在旧目录之后将新目录添加到我的path变量中。所以旧的装置仍然是路径上的活动装置。将C:\Program Files\nodejs\从系统路径中删除,并将c:\ users \…\AppData\Roaming\npm从用户路径重新启动命令行,新的安装是活动的。
可能最小路径是本地问题,与新安装无关。我有两个链接到AppData\Roaming\npm。也许这个问题也可以通过先卸载Node.js然后再安装新版本来解决。
这对我来说很管用。
打开非nodejs所在的本地文件夹。 使用npm Install npm命令将npm安装到该文件夹中 导航到包含节点js的文件夹。(C: \ Program Files \ nodejs \ node_modules) 删除npm文件夹,替换为本地文件夹中的npm和bin文件夹。 运行npm -v。现在你会得到npm的更新版本。
注意:我尝试直接在“C:\Program Files\nodejs\node_modules”中安装npm,但它产生了错误。
像一些人一样,我需要组合多个答案,我还需要设置一个代理。
这对任何人都适用。我有零愿望运行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)
完成了。我得到了我想要的版本。