我试了一下:
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上做到这一点?
当前回答
像一些人一样,我需要组合多个答案,我还需要设置一个代理。
这对任何人都适用。我有零愿望运行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)
完成了。我得到了我想要的版本。
其他回答
我也面临着类似的问题。我遵循了下面提到的步骤,它对我很有效:
开始> Node.js 右键单击Node.js命令提示符 单击“以管理员身份运行” ping registry.npmjs.org NPM视图NPM版本号 cd % ProgramFiles % \ nodejs NPM安装npm@latest
NPM更新成功。早些时候,我正在尝试CMD,这是抛出错误。可能是路径问题,通过运行NodeJs命令提示符解决了。希望对你有用。试试这个。
为了更新NPM,这对我来说很有效:
在shell中导航到节点安装目录,例如C:\Program Files (x86)\nodejs 运行NPM install NPM(没有-g选项)
这是维护NODE.Js i NVM版本的最佳工具
Windows版本管理器(nvm) 但对于Windows,需要安装程序。现在下载!这一直是一个节点版本管理器,而不是一个io.js管理器,所以没有对io.js的支持。支持节点4+。
不管怎样,我必须把几个答案结合起来……
在控制面板中卸载Node.js。 删除目录C:\Program Files (x86)\nodejs\和C:\Program Files\nodejs\(如果存在)。 安装最新版本http://nodejs.org/download/
您可以使用这些命令:
npm cache clean
npm update -g [package....]
如果要从以前版本的node升级,则需要更新所有现有的全局包。 您还可以指定要更新的包名。