我试过这:
sudo npm cache clean -f sudo npm install -g n sudo n stable
...但这并没有起作用。
如何在Windows上做到这一点?
下载并运行最新的MSI。MSI会更新你安装的节点和npm。
前面的答案适用于安装一个新版本的Node.js(可能是最好的选择),但如果你依赖于特定的Node.js版本,那么下面的答案也适用:"npm install npm -g"。在命令前后运行npm -v进行验证。
我随后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,并重新启动命令行后,新的安装是活跃的。
C:\Users\...\AppData\Roaming\npm
可能最小路径是本地问题,与新安装无关。我有两个链接到AppData\Roaming\npm。也许这个问题也可以通过先卸载Node.js然后再安装新版本来解决。
AppData\Roaming\npm
不管怎样,我必须把几个答案结合起来……
你可以使用巧克力色,它是windows的包管理器(就像Debian Linux的apt-get)。
重新安装(您可能需要卸载以前安装的版本)
> choco install nodejs
更新到最新版本
> choco update nodejs
对于NPM
> choco update npm
为了更新NPM,这对我来说很有效:
C:\Program Files (x86)\nodejs
npm install npm
-g
这对我来说在Windows 7 x64上更新npm很有效:
以管理员身份运行
# EYZ0 < / p >
删除C:\Program Files\nodejs\npm.cmd,新的npm将在C:\Users\username\appdata\roaming\npm\npm.cmd
C:\Program Files\nodejs\npm.cmd
C:\Users\username\appdata\roaming\npm\npm.cmd
希望这能有所帮助。
注意:这个问题是专门问如何升级npm,而不是Node.js。如果你想在windows上通过命令行更新Node.js,我建议使用巧克力色。
以管理员身份运行PowerShell
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force npm install -g npm-windows-upgrade npm-windows-upgrade
注意:如果你运行Node.js安装程序,它会替换Node.js版本。
npm install -g npm
注意:一些用户仍然报告用npm更新npm的问题,但我没有v16+的经验。
以管理员身份打开PowerShell。
要安装第一次,您可以使用这个小脚本下载最新的msi并运行它
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
node.exe
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。
nvm
https://github.com/brunolm/nvm
Install-Module -Name power-nvm nvm install latest nvm default latest
您可以使用这些命令:
npm cache clean npm update -g [package....]
如果您正在从以前版本的node升级,那么您将需要更新所有现有的全局包。
对我来说,在完全卸载节点10.29,然后安装节点4.2.2之后,在我的c:\windows文件夹中仍然有一个10.29 node.exe文件。
c:\windows
我通过使用以下命令发现了这一点:
where.exe node
命令返回:
C:\Windows\node.exe C:\Program Files\nodejs\node.exe
因此,即使我已经通过msi可执行文件成功安装了4.2.2版本,node -v命令将继续报告我正在运行10.29版本。
node -v
我通过删除这个文件解决了这个问题:
C:\Windows\node.exe
此后,node -v报告了升级后的版本,而不是之前版本中不需要的残余。
我也面临着类似的问题。我遵循了下面提到的步骤,它对我很有效:
去Windows > Start > Node.js
Windows > Start > Node.js
Node.js command prompt
Run as administrator
# EYZ0
NPM更新成功。早些时候,我正在尝试CMD,这是抛出错误。可能是路径问题,通过运行NodeJs命令提示符解决了。希望对你有用。试试这个。
这对我来说很管用。
注意:我尝试直接在“C:\Program Files\nodejs\node_modules”中安装npm,但它产生了错误。
这可能会帮助到某些人。无论是“npm-windows-upgrade”还是安装程序本身都不能为我做到这一点。Powershell仍然使用旧版本的node和npm。
我没有卸载任何东西,也没有设置任何路径。
像一些人一样,我需要来组合多个答案,我还需要设置一个代理。
这个应该适用于任何人。我有零愿望运行EXE文件或MSI文件..卸载/重新安装,或手动删除文件和文件夹。这就是1999年的情况:P
更新NPM:
以管理员运行PowerShell
npm i -g npm // This works
我不认为这段代码实际上升级了你下面的npm版本
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force npm install -g npm-windows-upgrade npm-windows-upgrade (courtesy of "Robert" answer)
Run this to update 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:无法找到路径....的一部分**,见下文…向下滚动。阅读网络响应…它至少要通过防火墙/代理(如果你有一个或已经运行了代码,请通过…)
否则< em > < / em >
您可能需要设置代理
npm config set proxy "http://proxy.yourcorp.com:811" (yes, use quotes)
2个可能的错误
它不能找到路径解决方案的路径“where.exe节点”(由Lonnie Best Answer提供)
例如,如果Node.js不在“Program Files (x86)”中,可能是在where.exe中,它就在“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."
npm -v (3.10.8)
node -v ( v6.6.0)
DONE. I'm at the version that I want.
这对我来说很好
运行命令提示符作为管理员
运行# EYZ0
运行# EYZ0 李< /引用> < / >
命令提示符截图
你可以用下面的命令更新你的npm到最新的稳定版本:
npm install npm@latest -g
使用PowerShell来运行它。该命令不需要windows管理员权限,您可以使用npm -v验证结果
npm -v
使用# EYZ0
这是用户在Windows上升级npm的官方文档!
这是我的截图!
这是维护NODE.Js i NVM版本的最佳工具
节点版本管理器(nvm) for Windows 但对于Windows,需要安装程序。# EYZ0 !这一直是一个节点版本管理器,而不是一个io.js管理器,所以没有对io.js的支持。支持节点4+。 # EYZ0 < / p >
卸载node . js。点击开始菜单,输入“更改或删除程序”,点击显示的项目,在列表中找到Node.js并卸载它。
删除目录C:\Program Files (x86)\nodejs\和C:\Program Files\nodejs\(如果它们存在)。
安装最新的,https://nodejs.org/en/download
,,, # EYZ0
所有这些都在Windows 10(2017)上进行了测试和工作。
好了,朋友们,我阅读了(在Windows上尝试了)之前所有的东西,所有这些答案都有自己的缺点。
对于更新Node.js的最佳方法(至少对我来说),请访问https://nodejs.org/en/ 然后下载最后一个版本,并将其安装到您在1分钟内安装前一个版本的相同文件夹中,这样就完成了。你不需要删除任何旧文件
然后在cmd中输入npm install --save latest-version更新npm
npm install --save latest-version
就我而言,我发现我安装了两个Node.js副本。一个在“C:\Program Files\nodejs”下,另一个在“C:\Program Files (x86)\nodejs”下。
要安装更新,只需从Nodejs.org站点上输入下载安装程序并再次运行它。新版本的Node.js和NPM将取代旧版本。
首先,确保你已经安装了Chocolatey。如果不是,通过cmd.exe或PowerShell.exe执行使用管理shell安装chocoley。更多信息,请访问:https://chocolatey.org/docs/installation
安装与用于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
在cmd.exe上使用以下命令安装或更新
# EYZ1: # EYZ0
对于NodeJS
从在这里下载所需的节点版本msi并安装
对于Npm
1. 安装最新的npm版本
npm install –g npm@latest
(你可以输入"npm -version "来检查)
通过以下URL安装节点新版本:https://nodejs.org/en/download/current/ 遵循默认选项 删除C:\Users\\AppData\Roaming\NPM c.删除c:\ users \\AppData\Roaming\npm-cache
在窗口10或窗口8执行这些步骤
C:\Program Files\nodejs
refreshenv
现在您将拥有您安装的新版本。
请注意:如果你不删除路径。您将看到node的以前版本。
PowerShell不直接执行npm,所以我建议使用
.\npm install -g npm-windows-upgrade .\npm-windows-upgrade
但它失败了:
你想安装npm 6.1.0,但已经安装的版本是3.10.10。
一个常见的原因是试图“npm install npm”;或者“npm升级npm”。到目前为止,唯一的解决方案是完全卸载Node.js,然后重新安装。关于一个小教程,请参见http://aka.ms/fix-npm-upgrade(死链接)。
请考虑向< a href = " http://aka。Ms /npm-issues" rel="nofollow noreferrer">npm-windows-upgrade报告您的问题。