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"