Cargo 入門
Cargo とは
Cargo は Rust のビルドツール兼パッケージマネージャ. JavaScript でいう npm,Python でいう pip + venv みたいなもの. Rust を書くなら Cargo を使う.それだけ覚えておけばいい.
プロジェクトを作る
cargo new hello-rust
これで hello-rust というディレクトリができる.中身はこう:
hello-rust/
├── Cargo.toml
└── src/
└── main.rs
たった 2 ファイル.シンプル.
Cargo.toml
[package]
name = "hello-rust"
version = "0.1.0"
edition = "2021"
[dependencies]
[package] はプロジェクトの情報.[dependencies] は外部ライブラリ(クレート)を書く場所.今は空でいい.
語弊注意:
editionは Rust の「年度版」みたいなもの.深く考えなくていい.2021のままでOK.
main.rs
fn main() {
println!("Hello, world!");
}
fn main() がプログラムのエントリーポイント.println! は文字列を出力するやつ.末尾の ! はマクロという仕組みだけど,今は「println には ! が必要」とだけ覚えておこう.
ビルドと実行
cd hello-rust
cargo run
出力:
Compiling hello-rust v0.1.0 (/path/to/hello-rust)
Finished dev [unoptimized + debuginfo] target(s) in 0.50s
Running `target/debug/hello-rust`
Hello, world!
cargo run はビルドと実行を一発でやってくれる.
他にも覚えておくと便利なコマンド:
| コマンド | やること |
|---|---|
cargo run |
ビルドして実行 |
cargo build |
ビルドだけ |
cargo check |
コンパイルできるかチェック(ビルドはしない.速い) |
普段の開発では cargo run と cargo check だけ使えば十分.
外部クレートを追加する
後の章で使うことはないけど,知識として.外部ライブラリを追加するには:
cargo add serde
すると Cargo.toml の [dependencies] に自動追加される:
[dependencies]
serde = "1.0"
crates.io で使えるクレートを探せる.npm みたいなもの.
これで Cargo の基本は完了.次は Rust のコードを書いていこう.