Cargo.tomlの[dependencies]にname="version"の形で記述すると、その後runしたりbuildする度、変更がある場合はその依存をダウンロードして解決をしてくれます。
例えばserdeというライブラリの場合、バージョンはcrates.io/crates/serdeから見ることができます。2019年12月現在だと最新のバージョンは、1.0.104なので、
[dependencies]
serde = "1.0.104"のように書きます。
もし依存モジュールをgitやローカルから取得したい場合はインラインテーブルで指定する方法が用意されてます。それぞれgit、pathというキーバリューを持つインラインテーブルを置きます。
# `git` から
add_a_module_by_git = { git = "git@..." }
# ローカルから
add_a_module_from_local = { path = "../path/to/module" }インラインテーブルの中には他にもfeaturesなどのキーバリューを置くことがあります。その場合インラインテーブルでは読み書きしずらくなってくるので以下のように書く方法もあります。
[dependencies.serde]
version = "1.0.104"ターミナルから依存追加
もしかしたら、上記のようにバージョンを調べてファイルを編集するのは NodeJS などに親しんだユーザーの場合手間に感じるかもしれません。
cargo-editというツールを導入するとcargo addなどのコマンドが追加され、これでyarn addのように依存管理ファイルを編集することができます。
例えばserdeを導入したい場合以下のようなコマンドを叩きます。この場合バージョンを調べなくてもこのツールが自動で最新バージョンで追記してくれます。
cargo add serde
# `dev-dependncies` セクションに追加
cargo add --dev serde
# 以下と同じ
# cargoo add -D serde結果は以下の通りです。
[dependencies]
serde = "1.0.104"