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 runcargo checkだけ使えば十分.

外部クレートを追加する

後の章で使うことはないけど,知識として.外部ライブラリを追加するには:

cargo add serde

するとCargo.toml[dependencies]に自動追加される:

[dependencies]
serde = "1.0"

crates.ioで使えるクレートを探せる.npmみたいなもの.


これでCargoの基本は完了.次はRustのコードを書いていこう.