我试了一下:
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上做到这一点?
当前回答
PowerShell不直接执行npm,所以我建议使用
.\npm install -g npm-windows-upgrade
.\npm-windows-upgrade
但它失败了:
你想安装npm 6.1.0,但已经安装的版本是3.10.10。
一个常见的原因是尝试“npm安装npm”或“npm升级npm”。到目前为止,唯一的解决方案是完全卸载Node.js,然后重新安装。有关一个小教程,请参见http://aka.ms/fix-npm-upgrade(死链接)。
请考虑向npm-windows-upgrade报告您的问题。
其他回答
您可以使用这些命令:
npm cache clean
npm update -g [package....]
如果要从以前版本的node升级,则需要更新所有现有的全局包。 您还可以指定要更新的包名。
为了更新NPM,这对我来说很有效:
在shell中导航到节点安装目录,例如C:\Program Files (x86)\nodejs 运行NPM install NPM(没有-g选项)
对我来说,在完全卸载节点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版本,命令节点-v仍然会报告我正在运行10.29版本。
我通过删除这个文件解决了这个问题:
C:\Windows\node.exe
此后,node -v将报告升级后的版本,而不是之前版本中不需要的残余版本。
以管理员身份打开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
好了,朋友们,我阅读了(在Windows上尝试了)之前所有的东西,所有这些答案都有自己的缺点。
关于更新Node.js的最佳方法(至少对我来说),请访问https://nodejs.org/en/ 然后下载最后一个版本,并将其安装到您在1分钟内安装前一个版本的相同文件夹中,这样就完成了。您不需要删除任何旧文件。
然后更新npm输入cmd: npm install——save latest-version