❯ npm outdated -g
Package Current Wanted Latest Location
eslint 3.11.1 3.11.1 3.15.0
eslint-plugin-react 3.0.0 6.9.0 6.9.0
flow-bin 0.35.0 0.39.0 0.39.0
grunt-cli 0.1.13 1.2.0 1.2.0
gulp 3.9.0 3.9.1 3.9.1
jshint 2.8.0 2.9.4 2.9.4
npm 3.8.6 4.3.0 4.2.0
uglify-js 2.7.0 2.7.5 2.7.5
想知道为什么我的eslint不会更新。 npm upgrade -g -dd eslint
告诉我
npm verb outdated not updating eslint because it's currently at the maximum version that matches its specified semver range
这导致我尝试outdated
,但不管怎样,全局package.json
并不存在。那我为什么限于3.11 ??
根据npmjs doc,
如果没有可用的semver范围(即你运行过时npm过时了) --global,或包不包含在package.json中),然后想要显示当前安装的版本。
这根本没有任何意义。
答案 0 :(得分:1)
要将全局包更新到“最新”版本:
npx npm-check --global --update
这会将全局包更新到“最新”版本*。 More information is available about npm-check,包括无需提示即可更新、排除软件包等
相反,npm update -g
仅将全局包更新为 npm outdated --global
所示的“Wanted”版本,因为全局安装的包被视为使用指定的插入符号 semver 范围安装。
最后,如果您碰巧想将软件包更新(安装)到“最新”或“想要”以外的版本:npm install --global <pkg>@<version>
答案 1 :(得分:0)
遵循npm
的事实上的工作流程,我们删除并重新安装软件包。
npm remove -g eslint && npm install -g eslint
npm,你为什么这么糟糕?