【カーゴ】

Cargo とは?

最終更新:
💡 Rustの荷物は全部おまかせ、ビルドもテストも一手に引き受ける船長
📌 このページのポイント
Cargo: Rustの開発ワークフロー Cargo.toml プロジェクト設定+依存管理 Cargo cargo build コンパイル cargo test テスト実行 cargo run ビルド+実行 cargo add 依存追加 crates.io
Cargoによる開発ワークフローのイメージ
ひよこ ひよこ
RustにはCargoっていうのがあるって聞いたけど、npmみたいなもの?
ペンギン先生 ペンギン先生
npmに近いけど、もっと範囲が広いよ。パッケージ管理だけじゃなくて、ビルド、テスト実行、ドキュメント生成、ベンチマークまで全部Cargoでできるんだ
ひよこ ひよこ
package.jsonみたいな設定ファイルはあるの?
ペンギン先生 ペンギン先生
Cargo.tomlというファイルがそれにあたるよ。TOML形式で書きやすくて、依存パッケージやビルド設定をまとめて管理できるんだ
ひよこ ひよこ
パッケージはどこから持ってくるの?
ペンギン先生 ペンギン先生
crates.ioという公式レジストリだよ。npmレジストリRust版だね。cargo add serde みたいにコマンド一発で依存を追加できるんだ
ひよこ ひよこ
Rustって難しいイメージあるけど、Cargoは使いやすい?
ペンギン先生 ペンギン先生
実はCargoはすごく良くできていて、Rustで一番褒められる部分の一つだよ。cargo new でプロジェクト作成、cargo run で実行、テストも cargo test だけ。統一されていて迷わないんだ
ひよこ ひよこ
BiomeRuffRust製だけど、それらもCargoで作られてるの?
ペンギン先生 ペンギン先生
そうだよ。BiomeRuffuvもCargoでビルドされているんだ。Rust製ツールが増えている今、Cargoはそれらを支える縁の下の力持ちだね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Cargo」って出てきたら「Rustの公式パッケージ管理&ビルドツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cargo」 = 貨物・積み荷
💬 Rustのマスコットが蟹(Ferris)だから、船と貨物のイメージでCargoなんだよ。パッケージ(荷物)を運んで届けてくれる存在だね
← 用語集にもどる