Cargoの基礎
ビルドと実行
「Cargoの基礎」はCoddyKit上の無料Learn Rust Codingレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn Rust Coding学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn Rust Codingコースには全4レッスンが含まれています。
Cargoとは
Cargoは、Rustのビルドシステム兼パッケージマネージャーです。コードのコンパイル、依存関係のダウンロード、テストの実行、ドキュメントのビルドを行います。
- Rustツールチェーンに同梱されています
- プロジェクトの
Cargo.tomlマニフェストを管理します - ビルドのライフサイクル全体を処理します
新しいプロジェクトの作成
cargo newを使ってバイナリプロジェクトのひな型を作成します。src/main.rsとCargo.tomlを含むディレクトリが作成されます。
cargo new my_appはバイナリクレートを作成しますcargo new my_lib --libはライブラリークレートを作成します
cargo new my_app
cd my_appデフォルトのmain.rs
新しいバイナリプロジェクトには、小さなmain.rsが最初から用意されています。main関数は、すべてのRustバイナリのエントリーポイントです。
fn main() {
println!("Hello, world!");
}cargo buildでビルドする
cargo buildはプロジェクトをコンパイルし、target/debugディレクトリに出力します。初回のビルドでは、依存関係の解決とコンパイルも行われます。
- デバッグビルドは最適化されませんが、コンパイルは高速です
- バイナリは
target/debug/my_appに配置されます
cargo buildcargo runで実行する
cargo runは、必要に応じてビルドしてから、バイナリを1ステップで実行します。開発中にすばやく反復するための最速の方法です。
fn main() {
let name = "Cargo";
println!("Running with {name}!");
}cargo checkでチェックする
cargo checkは、バイナリを生成せずにコードのエラーを解析します。完全なビルドよりはるかに高速で、編集とコンパイルを繰り返す作業に適しています。
cargo checkリリースビルド
--releaseを追加すると最適化が有効になります。リリースビルドはコンパイルに時間がかかりますが、より高速なバイナリを生成し、target/releaseに配置します。
cargo build --release
cargo run --release引数を渡す
--の後に指定した引数はCargoではなく、プログラムに渡されます。std::env::argsで読み取れます。
use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
println!("Got {} arguments", args.len());
for arg in &args {
println!("{arg}");
}
}生成物を削除する
cargo cleanはtargetディレクトリを削除し、コンパイル済みの出力をすべて消去します。クリーンな状態でビルドし直したい場合や、ディスク容量を確保したい場合に使います。
cargo cleanCargo.lockファイル
Cargoは、解決された依存関係の正確なバージョンをCargo.lockに記録します。
- バイナリでは、再現可能なビルドのためにコミットします
- ライブラリーでは、通常コミットしません
- 自動的に生成および更新されます
よく使うCargoコマンド
日常的に使うコマンドの簡単なリファレンスです。
cargo new— プロジェクトを作成cargo build— コンパイルcargo run— ビルドして実行cargo check— 高速なエラーチェックcargo test— テストを実行cargo doc— ドキュメントをビルド
簡単な確認
実行可能なバイナリを生成せずにコードをコンパイルするコマンドはどれですか?
まとめ
Cargoの基本的なワークフローを学びました。
cargo newでプロジェクトのひな型を作成しますcargo buildでコンパイルし、cargo runでビルドして実行しますcargo checkは高速なエラーチェックです--releaseで最適化を有効にしますCargo.lockで依存関係のバージョンを固定します
Cargoは、すべてのRustプロジェクトの基盤です。
よくある質問
「Cargoの基礎」レッスンは無料ですか?
はい。「Cargoの基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn Rust Codingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn Rust Codingコースには全4レッスンが含まれています。
「Cargoの基礎」で何を学びますか?
ビルドと実行 ブラウザで直接実行するハンズオンコードでLearn Rust Codingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn Rust Codingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn Rust Codingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Cargoの基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn Rust Codingレッスンでコードを書いて実行できますか?
はい。すべてのLearn Rust Codingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。