当我为项目安装依赖项时,我看到了这一点:
Update available 5.7.1 → 5.8.0 │
│ Run npm i npm to update
然后我这样做了:
$ npm i npm
npm WARN react-hot-api@0.4.7 requires a peer of react@>=0.11.0 || ^0.14.0-rc but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ npm@5.8.0
added 523 packages from 726 contributors in 12.75s
但为什么它仍然是旧版本?
$ npm --version
5.7.1
答案 0 :(得分:2)
但为什么它仍然是旧版本?
默认情况下,npm在本地node_modules/
目录中安装软件包。由于npm i npm
是npm install npm
的简写,因此它会在本地安装最新版本的npm。
但是,在shell中运行npm
时,shell会在npm
中选择$PATH
,这可能是全局安装。
要更新npm的全局安装,请运行:
npm install --global npm
您可能还想删除本地安装的npm以减少膨胀:
npm uninstall npm
有关更新的详情,请参阅How can I update Node.js and npm to the next versions?。
答案 1 :(得分:0)
作为罗伯特·贝克(Robert Baker)的回答Here的参考,
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade
注意:请勿运行npm i -g npm
。而是使用npm-windows-upgrade
来更新npm。另外,如果您运行NodeJS安装程序,它将替换节点版本。
我能够从5.6升级到6.7(此评论撰写的最新版本)