已安装新版本的npm,但旧版本仍在使用中

时间:2018-03-27 09:58:30

标签: node.js linux npm

当我为项目安装依赖项时,我看到了这一点:

 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

2 个答案:

答案 0 :(得分:2)

  

但为什么它仍然是旧版本?

默认情况下,npm在本地node_modules/目录中安装软件包。由于npm i npmnpm 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的参考,

  1. 以管理员身份运行PowerShell
  2. 运行以下代码:

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(此评论撰写的最新版本)