A cargo subcommand for downloading crates from crates.io
cargo-download
can be used to download a gzipped archive of given crate,
in the exact form that it was uploaded to crates.io.
This can be useful for a variety of things, such as:
- checking in your dependencies in source control (if your team/organization follows this practice)
- mirroring crates.io for reproducible CI/CD pipelines
- security auditing of crates (esp. when a crate repository is missing)
- reproducing a bug that only occurs in uploaded versions of your crate
cargo-download
can be installed with cargo install
:
$ cargo install cargo-download
This shall put the cargo-download
executable in your Cargo binary directory
(e.g. ~/.cargo/bin
), which hopefully is in your $PATH
.
To download the newest version of foo
crate, do this:
$ cargo download foo >foo.gz
You can also use the standard Cargo.toml notation to specify a particular version:
$ cargo download foo==0.9 >foo-0.9.gz
For more detailed usage instructions, run cargo download --help
.
cargo-download
is licensed under the terms of the MIT license.