如何更新全球安装的 npm 包

命令: 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 中更新这些过时的包?

41945 次浏览

If you want to update all global packages

npm update -g

If you want to update specific global package

npm update -g <package_name>

To add to Mohit's answer, if you're using NPM 2.6 or less, there are a couple scripts that are handy in handling the update in that scenario: https://gist.github.com/othiym23/4ac31155da23962afd0e.

You'll need to create the two files described, and run them from the command prompt. This will update all the packages. For a selective update, scroll down the page at the above link to Dylang's comment from October 20, 2014. The comment below from Nov 6, 2014 will hook you up with scripts for a Windows environment.

Looking at long term maintenance, your best solution might be to update NPM first by running:

npm install npm@latest -g

A fairly comprehensive documentation of the processes can be found at https://docs.npmjs.com/updating-packages-downloaded-from-the-registry

To automatically update all global packages to the 'Latest' version:

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

That will update all global packages to the 'Latest' version. More information is available about npm-check, including the ability to perform an interactive update, exclude packages, etc.


To instead only update global packages to the 'Wanted' version shown by npm outdated --global (as globally installed packages are treated as if they are installed with a caret semver range specified):

npm update -g

Lastly, if you want to update (install) a package to a version other than 'Latest' or 'Wanted':

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