如何更新全局安装的 npm 包

How to update globally installed npm packages

命令:npm outdated -g

输出:

Package           Current  Wanted  Latest  Location

@angular/cli        1.3.1   1.7.4   7.0.5
create-react-app    1.5.2   1.5.2   2.1.1
eslint              5.6.0   5.9.0   5.9.0
expo-cli            2.2.0   2.3.8   2.3.8
gulp-cli            1.4.0   1.4.0   2.0.1
how-to-npm          2.5.0   2.5.1   2.5.1
mocha               3.5.0   3.5.3   5.2.0
nodemon            1.18.3  1.18.6  1.18.6
now                11.4.6  11.5.2  12.0.1
serve              10.0.1  10.0.2  10.0.2
typescript          2.4.2   2.9.2   3.1.6
yarn                1.9.4  1.12.3  1.12.3

如何在 npm 中更新这些过时的包?

如果你想更新所有全局包

npm update -g

如果你想更新特定的全局包

npm update -g <package_name>

添加到 Mohit 的回答中,如果您使用的是 NPM 2.6 或更低版本,则有几个脚本可以方便地处理该场景中的更新:https://gist.github.com/othiym23/4ac31155da23962afd0e

您需要创建所描述的两个文件,并 运行 从命令提示符创建它们。这将更新所有 包。要进行选择性更新,请向下滚动上方 link 页面至 Dylang 2014 年 10 月 20 日发表的评论。以下 2014 年 11 月 6 日发表的评论将使您了解 Windows 环境的脚本。

着眼于长期维护,您最好的解决方案可能是先 运行ning 更新 NPM:

npm install npm@latest -g

可以在 https://docs.npmjs.com/updating-packages-downloaded-from-the-registry

找到相当全面的流程文档

要自动将所有全局包更新到 'Latest' 版本:

npx npm-check --global --update-all

这会将所有全局包更新到 'Latest' 版本。 More information is available about npm-check,包括执行交互式更新、排除包等的能力


改为仅将全局包更新到 npm outdated --global 显示的 'Wanted' 版本(因为全局安装的包被视为安装有指定的插入符号 semver 范围):

npm update -g

最后,如果您想将软件包更新(安装)到 其他 版本而不是 'Latest' 或 'Wanted':

npm install --global <pkg>@<version>