How to update each dependency in package.json to the latest version?

前端 未结 30 2860
清歌不尽
清歌不尽 2020-11-22 08:01

I copied package.json from another project and now want to bump all of the dependencies to their latest versions since this is a fresh project and I don\'t mind

30条回答
  •  长情又很酷
    2020-11-22 08:10

    I recently had to update several projects that were using npm and package.json for their gruntfile.js magic. The following bash command (multiline command) worked well for me:

    npm outdated --json --depth=0 | \
    jq --ascii-output --monochrome-output '. | keys | .[]' | \
    xargs npm install $1 --save-dev
    

    The idea here: To pipe the npm outdated output as json, to jq
    (jq is a json command line parser/query tool)
    (notice the use of --depth argument for npm outdated)
    jq will strip the output down to just the top level package name only.
    finally xargs puts each LIBRARYNAME one at a time into a npm install LIBRARYNAME --save-dev command

    The above is what worked for me on a machine runnning: node=v0.11.10 osx=10.9.2 npm=1.3.24

    this required:
    xargs http://en.wikipedia.org/wiki/Xargs (native to my machine I believe)
    and
    jq http://stedolan.github.io/jq/ (I installed it with brew install jq)

    Note: I only save the updated libraries to package.json inside of the json key devDependancies by using --save-dev, that was a requirement of my projects, quite possible not yours.

    Afterward I check that everything is gravy with a simple

    npm outdated --depth=0
    

    Also, you can check the current toplevel installed library versions with

    npm list --depth=0
    

提交回复
热议问题