📌 Cargo
Cargo はパッケージ管理ツールです. パッケージ とは1つ以上のクレートを含んだものです.そして, クレート とはコードをまとめたもので,バイナリクレート(実行可能ファイル)とライブラリクレートの2つがあります.パッケージは複数のバイナリクレートを含めることができますが,ライブラリクレートは1つまでです. モジュール はクレートの中でグループ化されたコードのことで,読みやすさと再利用性を高めるためのものです.また,アクセス制御を設定することができ,内部の実装を利用できなくすることもできます.
🔹 cargo initコマンド
cargo init
コマンドを使うと,実行したフォルダ内に,単一のバイナリクレートを含んだパッケージの作成環境が作られます.
cargo init
実行すると次のような構成になります.
(workspace)
├─ src
│ └── main.rs
├── Cargo.toml
└── .gitignore
Cargo.toml
は構成ファイルです. src/main.rs
が クレートルート です.このファイルがモジュール構造の起点となります.
🔹 cargo buildコマンド
cargo build
コマンドを実行するとビルドが始まります.Cargo は必要な外部パッケージなどを自動でダウンロードしてビルドします.依存する外部パッケージは Cargo.toml
に記述し,実際にダウンロードしたパッケージのバージョンを Cargo.lock
ファイルに書き込みます.
cargo build
または
cargo b
🔹 cargo runコマンド
cargo run
コマンドを実行すると,作成した実行可能ファイルを起動します.ビルドが必要な場合は自動的にビルドしてくれます.
cargo run
または
cargo r
cargo build
コマンド, cargo run
コマンドは標準でデバッグ情報付き実行可能ファイルを作成します.--release
オプションをつけることで,リリース用の実行可能ファイルを作成できます.また,Rust にはプロファイルというものがあり,dev
と release
があります. --release
オプションは release
プロファイルを使用することを明示するものです.このプロファイルをカスタマイズdできます.例えば,最適化オプションなどです.詳しくはドキュメントを参照してください.
cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
cargo build --release
Finished release [optimized] target(s) in 0.0 secs
🔹 cargo checkコマンド
cargo check
コマンドはコンパイルチェックをします. cargo build
コマンドとは違ってリンクを行わないので,コンパイルが通るかのチェックはこちらのほうが早いです.
cargo check
または
cargo c
🔹 cargo addコマンド(外部パッケージ)
外部パッケージを使用したい場合は, Cargo.toml
の dependencies
セクションに使用したいパッケージを指定します.例えば rand
パッケージを使う場合は次のようにします:
[dependencies]
rand = "0.8.0"
または cargo add
コマンドを使えます.
cargo add rand
🔹 cargo treeコマンド
現在のパッケージ構成を確認したい場合は以下のコマンドを使います:
cargo tree
🔹 cargo install[uninstall]コマンド
バイナリパッケージをインストールできます.その場合は install
コマンドを使います.
cargo install <package>
また、cargo uninstall
コマンドでアンインストールができます.