0

我有一些全局安装的软件包,我想更新其中的一些。我检查过

$ npm outdated -g
Package                 Current  Wanted  Latest  Location
eslint                   5.16.0  5.16.0   6.8.0  global
jshint                   2.10.2  2.11.0  2.11.0  global
n                        2.1.12  2.1.12   6.2.0  global
npx                      10.2.0  10.2.2  10.2.2  global

我试过了

$ npm update -g eslint --dd

但我收到了消息

outdated not updating eslint because it's currently at the maximum version that matches its specified semver range

我检查了文档

$ npm help outdated
  • Wanted 是满足package.json中指定的semver范围的包的最大版本。如果没有可用的 semver 范围(即您正在运行npm outdated --global,或者该包未包含在package.json中),那么想要显示当前安装的版本。

但这显然不是真的,因为

$ npm update -g jshint

在更新之前工作并且包的值CurrentWanted包的值jshint不同。实际值是如何wanted定义的?

旁白:更新所有过时包的 npm 方式是什么,更新一个包的 npm 方式是什么?

编辑:

检查它是否与我安装的主要和次要版本号有关

$ npm install -g n@6.1.0
$ npm install -g eslint@6.7.0
$ npm install -g generator-wombytes-cpp@0.2.0

我更新了其他包。现在输出是

$ npm outdated -g
Package                 Current  Wanted  Latest  Location
eslint                    6.7.0   6.8.0   6.8.0  global
generator-wombytes-cpp    0.2.0   0.2.0   0.3.0  global
n                         6.1.0   6.2.0   6.2.0  global

这些包有不同的行为。

4

0 回答 0