我有一些全局安装的软件包,我想更新其中的一些。我检查过
$ 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
在更新之前工作并且包的值Current
和Wanted
包的值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
这些包有不同的行为。