This tool extends Cargo to allow you to add and list dependencies by reading/writing to your Cargo.toml
file from the command line.
Currently available subcommands:
cargo install
If you have a recent version of cargo
, you can use cargo install
to get all the tools provided by cargo-edit
in one simple step:
sh
$ cargo install cargo-edit
(Please check cargo
's documentation to learn how cargo install
works and how to set up your system so it finds binaries installed by cargo
.)
cargo install
You can build all commands of cargo-edit
from the source available on GitHub:
sh
$ git clone https://github.com/killercup/cargo-edit.git
$ cd cargo-edit
$ cargo build --release
Once you have the executables, you can move them to a directory in your $PATH
, e.g.
sh
$ cp target/release/cargo-* ~/.bin/
You should be able to use the new Cargo subcommands now.
cargo add
Add new dependencies to your Cargo.toml
. When no version is specified, cargo add
will try to query the latest version's number from crates.io.
sh
$ # Add a specific version
$ cargo add regex@0.1.41 --dev
$ # Query the latest version from crates.io and adds it as build dependency
$ cargo add gcc --build
$ # Add a non-crates.io crate
$ cargo add local_experiment --path=lib/trial-and-error/
```plain
$ cargo add --help
Usage:
cargo add
Options:
-D --dev Add crate as development dependency.
-B --build Add crate as build dependency.
--ver=cargo add bitflags@0.3.2
.
--git=
Add a dependency to a Cargo.toml manifest file. ```
cargo list
plain
$ cargo list
clippy 0.0.19
docopt 0.6
pad 0.1
rustc-serialize 0.3
semver 0.1
toml 0.1
plain
$ cargo list --tree
├── assert_cli (0.1.0)
│ ├── ansi_term (0.6.3)
│ └── difference (0.4.1)
│ └── getopts (0.2.14)
├── clippy (0.0.19)
│ └── unicode-normalization (0.1.1)
├── docopt (0.6.73)
│ ├── regex (0.1.41)
│ │ ├── aho-corasick (0.3.2)
│ │ │ └── memchr (0.1.6)
│ │ │ └── libc (0.1.10)
│ │ ├── memchr (0.1.6)
│ │ │ └── libc (0.1.10)
│ │ └── regex-syntax (0.2.2)
│ ├── rustc-serialize (0.3.16)
│ └── strsim (0.3.0)
├── pad (0.1.4)
│ └── unicode-width (0.1.3)
├── rustc-serialize (0.3.16)
├── semver (0.1.20)
└── toml (0.1.23)
└── rustc-serialize (0.3.16)
```plain
$ cargo list --help
Usage:
cargo list [
Options:
--manifest-path=
Display a crate's dependencies using its Cargo.toml file. ```
cargo rm
Remove dependencies from your Cargo.toml
.
sh
$ cargo rm regex
$ cargo rm regex --dev
$ cargo rm regex --build
```plain
$ cargo rm --help
Usage:
cargo rm
Options:
-D --dev Remove crate as development dependency.
-B --build Remove crate as build dependency.
--manifest-path=
Remove a dependency to a Cargo.toml manifest file. ```
Apache-2.0/MIT