[英]How can I update npm on Windows?
我试过这个:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
......但它没有用。
如何在 Windows 上执行此操作?
以管理员身份运行 PowerShell
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade
注意:不要运行npm i -g npm
。 而是使用npm-windows-upgrade
来更新 npm。 此外,如果您运行 NodeJS 安装程序,它将替换节点版本。
npm-windows-upgrade -p -v latest
更新到npm-windows-upgrade -p -v latest
。下载并运行最新的 MSI。 MSI 将更新您安装的节点和 npm。
要更新 NPM,这对我有用:
C:\\Program Files (x86)\\nodejs
npm install npm
(无-g
选项)和一些人一样,我需要组合多个答案,我也需要设置一个代理。
这应该适用于任何人。 我对运行 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)
运行它来更新 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 : 找不到路径的一部分......“**,见下文......向下滚动。阅读 Web 响应......它至少穿透了防火墙/代理(如果你有一个或者已经运行代码通过...
除此以外
您可能需要设置代理
npm config set proxy "http://proxy.yourcorp.com:811" (yes, use quotes)
2个可能的错误
它找不到路径解决方案“where.exe node”的路径(由 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'
现在它可能会尝试升级,但您会收到另一个错误, “node.exe 正在被另一个进程使用”。
npm -v (3.10.8)
节点 -v ( v6.6.0)
完毕。 我在我想要的版本。
您可以使用以下命令将 npm 更新到最新的稳定版本:
npm install npm@latest -g
使用 PowerShell 运行它。 此命令不需要 windows 管理员权限,您可以使用npm -v
验证结果
您可以使用Chocolatey ,它是 Windows 的包管理器(例如 Debian Linux 的 apt-get)。
全新安装(您可能需要卸载以前安装的版本)
> choco install nodejs
更新到最新版本
> choco update nodejs
对于 npm
> choco update npm
这对我在 Windows 7 x64 上更新 npm 很有效:
以管理员身份运行
$ npm -g install npm
删除C:\\Program Files\\nodejs\\npm.cmd
新的 npm 将在C:\\Users\\username\\appdata\\roaming\\npm\\npm.cmd
希望这可以帮助。
以管理员身份打开 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
1. 安装最新的 npm 版本
npm install –g npm@latest
(你可以输入“npm –version”来检查)
2. 安装节点
一种。 通过以下 URL 安装节点新版本: https : //nodejs.org/en/download/current/按照默认选择
湾删除 C:\\Users\\\\AppData\\Roaming\\NPM
C。 删除 C:\\Users\\\\AppData\\Roaming\\npm-cache
可选:
d. (删除当前项目文件夹中的 node_modules 文件夹)
e. npm 缓存验证
F。 安装
对于它的价值,我不得不结合几个答案......
C:\\Program Files (x86)\\nodejs\\
和C:\\Program Files\\nodejs\\
如果存在)。卸载 Node.js。 单击开始菜单,键入“更改或删除程序”,单击显示的项目,在列表中找到 Node.js 并卸载它。
删除目录,包括C:\\Program Files (x86)\\nodejs\\
和C:\\Program Files\\nodejs\\
如果存在)。
卸载/删除/安装似乎是不必要的,但通常是这样,这将节省您的时间。 这些说明来自 Microsoft。
https://www.npmjs.com/package/npm-windows-upgrade
这是在 windows 上升级 npm 的官方文档。
所有这些都在 Windows 10 (2017) 上进行了测试和运行。
这是维护 NODE.Js i NVM 版本的最佳工具
节点版本管理器 (nvm) 适用于 Windows,但适用于 Windows,带有安装程序。 立即下载! 这一直是一个节点版本管理器,而不是一个 io.js 管理器,所以没有对 io.js 的支持。 但是,支持节点 4+。
对我来说,在完全卸载节点 10.29,然后安装节点 4.2.2 后,我的 c:\\windows 文件夹中仍然存在一个 10.29 node.exe 文件。
我通过使用以下命令发现了这一点:
where.exe node
命令返回:
C:\Windows\node.exe
C:\Program Files\nodejs\node.exe
因此,即使我通过 msi 可执行文件成功安装了 4.2.2 版,命令“node -v”仍将继续返回 10.29。
我通过删除这个文件解决了这个问题:
C:\Windows\node.exe
对于 NodeJS
从这里下载所需的节点版本 msi 并安装
对于 Npm
以管理员身份运行 PowerShell
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade
我关注了@josh3737 并从 node.js 主页安装了最新的 MSI。
但是我有一个额外的问题,我在命令行上仍然有旧节点和 npm。 问题是由新安装引起的,它被安装到
C:\Program Files (x86)\nodejs\
而不是以前的安装
C:\Program Files\nodejs\
新安装在旧目录之后将新目录添加到我的路径变量中。 所以旧的安装仍然是路径中的活动安装。 从系统路径中删除C:\\Program Files\\nodejs\\
并从用户路径中删除C:\\Program Files\\nodejs\\
C:\\Users\\...\\AppData\\Roaming\\npm
并重新启动命令行后,新安装处于活动状态。
也许最小路径是与新安装无关的本地问题,我在其中有两个指向AppData\\Roaming\\npm
链接。 也许这也可以通过首先卸载 node.js 然后安装新版本来解决。
我也面临类似的问题。 我遵循了下面提到的步骤,它对我有用:
转到Windows > Start > Node.js
Node.js command prompt
Run as administrator
ping registry.npmjs.org
npm view npm version
cd %ProgramFiles%\\nodejs
npm install npm@latest
并且 npm 更新成功。 早些时候我正在尝试 CMD 并且抛出错误。 可能是通过运行 NodeJs 命令提示符解决的一些路径问题。 希望它对你有用。 尝试这个。
这对我来说很好用
以管理员身份运行命令提示符
运行Powershell -ExecutionPolicy Unrestricted
运行npm-windows-upgrade
运行npm --version
好的,我阅读了(在 Windows 上尝试过)所有以前的内容,所有这些答案都有其自身的缺点。
要获得更新 Node.js 的最佳方式(至少对我而言),请访问https://nodejs.org/en/然后下载最新版本并将其安装在与之前版本相同的文件夹中 - 1 分钟,它是完毕。 您不需要删除任何旧文件。
然后输入 cmd 更新npm : npm install --save latest-version
要安装更新,只需从 Nodejs.org 站点下载安装程序并再次运行。 Node.js 和 NPM 的新版本将取代旧版本。
到目前为止,我发现更新 Node.js 的最简单方法是使用Chocolatey 。 使用 Chocolatey 在 Windows 上安装或更新最新版本的 Node.js:
第 1 步:首先,确保您已经安装了 Chocolatey。 如果没有,请使用管理外壳通过 cmd.exe 或 PowerShell.exe安装 Chocolatey 。 有关更多信息,请访问: https : //chocolatey.org/docs/installation
第 2 步:使用 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
第 3 步:在 cmd.exe上使用以下命令安装或更新(在管理模式下)
安装 Node.js : cinst nodejs.install
更新 Node.js : cup nodejs.install
对窗口 10 或窗口 8 执行这些步骤
npm i -g npm@next
npm i -g npm@next
或npm i -g node@{version}
C:\\Program Files\\nodejs
。refreshenv
在CMD现在您将拥有您安装的新版本。
注意:如果您不删除路径。 您将看到以前版本的节点。
Powershell不直接执行npm,建议使用
.\npm install -g npm-windows-upgrade
.\npm-windows-upgrade
它失败了:
你想安装 npm 6.1.0,但安装的版本是 3.10.10。
一个常见的原因是尝试“npm install npm”或“npm upgrade npm”。 截至今天,唯一的解决方案是完全卸载然后重新安装 Node.js。 有关小教程,请参阅http://aka.ms/fix-npm-upgrade 。
请考虑向http://aka.ms/npm-issues报告您的问题。
http://aka.ms/fix-npm-upgrade <-- 这是一个死链接
您可以使用这些命令:
npm cache clean
npm update -g [package....]
如果您是从以前版本的 node 升级,那么您将需要更新所有现有的全局包。 您还可以指定要更新的包名称。
这可能会帮助某人。 “npm-windows-upgrade”和安装程序都不适合我。 Powershell 仍在使用旧版本的 node 和 npm。
所以这就是我所做的(为我工作): 1. 从 nodejs.org 下载最新的安装程序。 安装节点。 它将更新您的节点; 无处不在(Powershell、cmd 等)。 2. 安装 npm-windows-upgrade 包(npm install -g npm-windows-upgrade)并运行 npm-windows-upgrade。
我没有卸载任何东西,也没有设置任何路径。
就我而言,我发现我安装了两个 Node.js 副本。 一个在“C:\\Program Files\\nodejs”下,另一个在“C:\\Program Files (x86)\\nodejs”下。
这对我有用。
npm install npm
在该文件夹中npm install npm
npm -v
。 现在您将获得 npm 的更新版本。注意:我尝试直接在“C:\\Program Files\\nodejs\\node_modules”中安装 npm,但它产生了错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.