Cargo(カーゴ)
Rust公式パッケージマネージャ/ビルドツール。Rust 1.87(2026年Q1)同梱・crates.io連携・cargo build/test/run/publish・cargo audit/clippy/fmt・workspace/features/build-dependencies・cargo-binstall/cargo-dist・Sccache cache対応、2026年Rust web3/組込開発基盤、async/await stable。
概要
Cargo は Rust の公式パッケージマネージャ兼ビルドツールで、2026年Q1にリリースされた Rust 1.87 で同梱される。crates.io と連携し、cargo build・cargo test・cargo run・cargo publish などのコマンドを提供する。Sccache 0.5.0 とのキャッシュ連携により、ビルド時間を平均 0.2 s まで短縮できる。さらに、cargo audit・cargo clippy・cargo fmt でコード品質を自動チェックし、cargo-binstall 0.10.0・cargo-dist 0.8.0 でバイナリ配布を簡易化する。async/await は 1.87 で安定化し、Web3 や組込み開発基盤に組み込まれる。
主な特徴・仕組み
- 依存関係解決:crates.io から 10 GB 以上のパッケージを高速に取得。
- ビルドキャッシュ:Sccache 0.5.0 で 4 core CPU で 100 ms 以内に再ビルド。
- ワークスペース管理:複数プロジェクトを 1 つの Cargo.toml で統括。
- ビルド依存:
build-dependenciesを使い、ビルド時に必要なツールを自動インストール。 - コード品質:
cargo clippyで 1.5 GHz の CPU で 1 s 以内に警告生成。 - バイナリ配布:
cargo-binstallで 32‑bit/64‑bit 版を 0.5 GB 以内にダウンロード。 - デプロイ:
cargo-distで 1 GB 以内のディストリビューションパッケージを生成。 - Web3 対応:2025年にリリースされた Web3 ライブラリを 1 s 以内にビルド。
- 組込み開発:ARM Cortex‑M 系で 1 s 以内にクロスコンパイル。
- 最新機能:2026年に追加された
cargo auditで脆弱性を 0.1 s で検出。
スペック/製品比較表
| ツール | 主要バージョン | 主要機能 | キャッシュ | 典型的なビルド時間 |
|---|---|---|---|---|
| cargo | 1.87 | 依存解決・ビルド・テスト | Sccache 0.5.0 | 0.2 s |
| rustc | 1.87 | コンパイラ | なし | 0.1 s |
| cargo-binstall | 0.10.0 | バイナリ配布 | なし | 0.3 s |
| cargo-dist | 0.8.0 | ディストリビューション生成 | なし | 0.4 s |
| cargo-audit | 0.10.0 | 脆弱性検査 | なし | 0.1 s |
具体例・対応製品
- rustc 1.87:コンパイルエンジン。
- cargo 1.87:パッケージ管理。
- sccache 0.5.0:ビルドキャッシュ。
- cargo-binstall 0.10.0:バイナリインストール。
- cargo-dist 0.8.0:ディストリビューション作成。
- crates.io:公式レジストリ。
- async-std 1.12:非同期実装。
- wasm-bindgen 0.2.84:WebAssembly 生成。
- embedded-hal 1.0:組込み抽象化。
- ethers-rs 2.0:Web3 クライアント。
自作PCでの選び方・注意点
- CPU は 4 core 以上、クロック 1.5 GHz 以上を推奨。
- RAM は 16 GB 以上、32 GB で 10 GB 以上のキャッシュを保持。
- SSD は NVMe 1.0 以上で 500 GB 以上の空き容量。
- ネットワークは 1 Gbps 以上で crates.io への高速アクセス。
- クロスコンパイルの場合、ターゲットツールチェーンを事前にインストール。
cargo auditを定期的に実行し、脆弱性を早期発見。cargo distで生成したパッケージは 1 GB 以内に収める。cargo-binstallで 32‑bit/64‑bit バイナリを同時に取得。cargo clippyの警告を 0.1 s 以内に確認。cargo build --releaseで最適化ビルドを行う。
関連用語との違い
- rustc:コンパイラ本体。Cargo は依存解決とビルドプロセスを管理。
- sccache:キャッシュエンジン。Cargo から呼び出される。
- cargo-audit:脆弱性検査ツール。Cargo の拡張機能。
- cargo-binstall:バイナリ配布ツール。Cargo のビルド後に実行。
- cargo-dist:ディストリビューション生成。Cargo のビルド成果物をパッケージ化。
- crates.io:パッケージレジストリ。Cargo が依存を取得。
- Cargo.toml:プロジェクト設定ファイル。Cargo の中心。
- Cargo.lock:依存バージョン固定。Cargo がビルド時に参照。
- Cargo workspace:複数プロジェクトをまとめる仕組み。
- Cargo features:条件付きコンパイルを制御。
よくある質問
Q1: Cargo のビルド時間をさらに短縮する方法は?
A1: Sccache 0.5.0 を有効化し、CARGO_TARGET_DIR を SSD 上に設定すると平均 0.1 s まで短縮可能。
Q2: Cargo で WebAssembly をビルドするには?
A2: wasm32-unknown-unknown ターゲットを追加し、cargo build --target wasm32-unknown-unknown を実行。
Q3: Cargo の依存関係をローカルに保存するには?
A3: cargo vendor コマンドで crates.io から取得したパッケージを vendor/ ディレクトリに格納し、Cargo.toml の [patch.crates-io] で参照。
まとめ
Cargo は Rust 1.87 で標準装備され、Sccache 0.5.0 との連携でビルド時間を 0.2 s まで短縮。cargo audit・cargo clippy・cargo fmt でコード品質を自動管理し、cargo-binstall・cargo-dist で配布を簡易化。2025年に登場した Web3 ライブラリや 2026年に安定化した async/await を活用すれば、次世代の組込み・Web 開発に最適な環境が整う。自作PC での構成は CPU 4 core 以上、SSD NVMe 500 GB 以上を推奨し、Cargo の拡張機能を組み合わせることで開発効率を最大化できる。