45 releases (22 stable)

new 1.8.4 Sep 20, 2019
1.7.0 Oct 30, 2018
1.6.1 Jul 3, 2018
1.4.1 Jan 20, 2018
0.6.0 Nov 30, 2016

#4 in Cargo plugins

Download history 494/week @ 2019-06-07 493/week @ 2019-06-14 746/week @ 2019-06-21 569/week @ 2019-06-28 637/week @ 2019-07-05 668/week @ 2019-07-12 689/week @ 2019-07-19 741/week @ 2019-07-26 501/week @ 2019-08-02 444/week @ 2019-08-09 676/week @ 2019-08-16 704/week @ 2019-08-23 686/week @ 2019-08-30 1463/week @ 2019-09-06 1938/week @ 2019-09-13

3,577 downloads per month

MIT license


cargo-update TravisCI build status AppVeyorCI build status Licence Crates.io version

A cargo subcommand for checking and applying updates to installed executables




Firstly, ensure you have CMake and the Required Libraries™.

Then proceed as usual:

cargo install cargo-update

If that doesn't work and you're on Mac, re-try with PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig. If it still doesn't work, slam open an issue or comment on one of the existing relevant ones.

Required libraries

Library *X package name msys2 package name
libgit2 libgit2-devel mingw-w64-x86_64-libgit2
libssh2 libssh2-devel mingw-w64-x86_64-libssh2
openssl openssl-devel mingw-w64-x86_64-openssl


cargo install-update -a - check for newer versions and update all installed packages.

cargo install-update crate1 crate2 ... - check for newer versions and update selected packages, will not install new packages.

For more information and examples see the manpage.


cargo-update will update itself seamlessly on Linux and Windows.

On Windows the following strategy is applied:

  • Check for old versions, remove them
  • Add the current version to the current executable's extension
  • Create an empty file in place of the just-renamed file (this way cargo install will "replace" it and not duplicate the entry in .crates.toml)

Special thanks

To all who support further development on Patreon, in particular:

  • ThePhD


~315K SLoC