【MacでRust入門】Rust日本語版チュートリアルの要点まとめ ~ 第3回 Cargoとは
目次
こんにちは。
最近流行りのRustを初めてみよう!ということでチュートリアルを読み始めました。
内容を忘れないように & チュートリアルがTL;DRな方向けにブログ記事に要点をまとめていこうと思います。
前回は最も簡単なプログラムとしてHello Worldしました。
今回は第3回です。RustでHello Cargoしようと思います。
Cargoとは
Rustのビルドシステム兼パッケージマネージャ。
できることは
- コードのビルド
- 依存するライブラリのダウンロード
- ライブラリのビルド
など。
要は、複数のライブラリを使うような複雑なRustプログラムを動かすための便利ツールです。
Cargoのインストール方法
実は第一回のインストールコマンドで、すでにRustと一緒にCargoが入っています。
インストールされているか確認するための、お決まりのバージョン確認。
$ cargo --vergion
cargo 1.63.0 (fd9c4297c 2022-07-01)
Cargoの使い方 1. プロジェクト作成
前回作ったhello_world
ディレクトリの代わりに、cargoでプロジェクトを作ります。
$ cargo new hello_cargo
$ cd hello_cargo
すると、パッケージとしてすでにsrc/main.rs
、.gitignore
とCargo.toml
が生成されています。(Gitリポジトリ内であれば.gitignore
は生成されません)
TOMLとは
.toml
はTOML(Tom's Obvious, Minimal Language)というCargoの設定ファイルフォーマットです。[]
でセクションが区切られ、[package]
にはコンパイルに必要な設定情報が、[dependencies]
にはコードが依存するライブラリ(Rustではこれをクレートと呼びます)の情報が書かれます。
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"
[dependencies]
コードをsrc
ディレクトリに移動してCargo.toml
を自分で作れば、cargo new
で開始していなくとも、Cargoプロジェクトになります。
Cargoの使い方 2. プロジェクトのビルド
次のコマンドでビルドします。
$ cargo build
するとtarget/debug/
というディレクトリに実行可能ファイルが生成されます。
また、初回ビルドではCargo.lock
というファイルができます。
version = 3
[[package]]
name = "hello_cargo"
version = "0.1.0"
まだ依存関係がないので情報は少ないですが、依存関係のバージョンを記録するものだそう。
Cargoの使い方 3. プロジェクトの実行
前回のHello Worldはコンパイルファイルの作成と実行が別々のコマンドでしたが、Cargoでは1コマンドでビルドから実行までを一度に行えます。
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.06s
Running `target/debug/hello_cargo`
Hello, world!
上記はビルド直後に行っているのでコンパイルの出力がないですが、ビルド後にコードを変更しているとコンパイルも行われるのでCompiling
という出力の行も出ます。
Cargoの使い方 4. コードがコンパイル可能かチェック
コードを書きながらコンパイルが通るかエラーのチェックするのに便利なコマンド。
$ cargo check
定期的にチェックして、checkが問題なければビルドするという流れ。ビルドの方が実行ファイルを生成するステップを省略できるので時間がかかるため、エラー確認程度であればcheckの方が高速に実行できます。
まとめ
というわけで今回はRustのビルド&パッケージマネージャであるCargoの使い方を簡単にまとめました。
cargo new
- プロジェクト作成
cargo build
- ビルド
cargo run
- ビルド & 実行
cargo check
- コーディング中のエラーチェック
単純なプログラムならrustc
コマンドと大差ないですが、クレートが増えるとビルドをCargoに任せられるので効果を発揮するようです。
次回はRustで簡単なゲームを作ります。
それでは〜
Rust オススメの参考書籍
▼ 入門者向け。Pythonとの比較あり。Kindleでも読める。
手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた
▼ 中級者向け。オライリーならではの詳解。硬派な方向け。
参考リンク
Rustチュートリアル (日本語版 非公式) https://doc.rust-jp.rs/book-ja/