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:
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