Rustのインストール
開発のためのRustのセットアップから始めたいと思います。
使用するプラットフォームはLinux環境になります。ですが、コードはなるべくどの環境でも動作するようなものにしたいと考えています。が個々の環境の動作確認はしません。
最初のステップはRustのインストールです。
Get Startのページに導入方法が書かれています。インターネットにつながった環境であればこのページに書かれている通り、
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
で、インストールされると思います。
Rustのコンパイラであるrustcやパッケージマネージャのcargoなどがインストールされます。
インストールされたRustのバージョン確認
では、動作確認の意味も含めてRustのコマンドを実行してみましょう。
まずはコンパイラrustcのバージョン確認、
$ rustc --version
rustc 1.77.2 (25ef9e3d8 2024-04-09)
続いてパッケージマネージャcargoのバージョン確認、
$ cargo --version
cargo 1.77.2 (e52e36006 2024-03-26)
この出力結果とあなたの環境での出力結果が一致しないかもしれません。導入したタイミングによっては、もっと新しいバージョンがインストールされているかもしれません。
Rustは互換性が高い1ので導入時点の最新バージョンであればこれから提示するコードもコンパイル可能だと思います。様々な理由でバージョンを変更したい、同じバージョンを使いたい、という場合はバージョン指定してインストールすることが可能です。
例えばこのバージョンのひとつ前の1.77.1をインストールしたい場合は、
$ rustup toolchain add 1.77.1
info: syncing channel updates for '1.77.1-x86_64-unknown-linux-gnu'
info: latest update on 2024-03-28, rust version 1.77.1 (7cf61ebde 2024-03-27)
info: downloading component 'cargo'
8.0 MiB / 8.0 MiB (100 %) 4.6 MiB/s in 1s ETA: 0s
info: downloading component 'clippy'
info: downloading component 'rust-docs'
14.9 MiB / 14.9 MiB (100 %) 4.5 MiB/s in 3s ETA: 0s
info: downloading component 'rust-std'
26.6 MiB / 26.6 MiB (100 %) 4.3 MiB/s in 6s ETA: 0s
info: downloading component 'rustc'
60.5 MiB / 60.5 MiB (100 %) 4.3 MiB/s in 13s ETA: 0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
14.9 MiB / 14.9 MiB (100 %) 7.7 MiB/s in 1s ETA: 0s
info: installing component 'rust-std'
26.6 MiB / 26.6 MiB (100 %) 16.0 MiB/s in 1s ETA: 0s
info: installing component 'rustc'
60.5 MiB / 60.5 MiB (100 %) 16.3 MiB/s in 3s ETA: 0s
info: installing component 'rustfmt'
1.77.1-x86_64-unknown-linux-gnu installed - rustc 1.77.1 (7cf61ebde 2024-03-27)
これで1.77.1のインストールができました。このようにRustは複数バージョンのインストールが可能です。
再びバージョンを確認してみましょう。
残念ながらバージョンは変わっていません。複数バージョンをインストールした場合は、どのバージョンを使うのか決める必要があります。
バージョンを切り替えてみましょう。1.77.1に切り替えるには、
$ rustup default 1.77.1
info: using existing install for '1.77.1-x86_64-unknown-linux-gnu'
info: default toolchain set to '1.77.1-x86_64-unknown-linux-gnu'
1.77.1-x86_64-unknown-linux-gnu unchanged - rustc 1.77.1 (7cf61ebde 2024-03-27)
再びバージョンを確認してみましょう。
$ rustc --version
rustc 1.77.1 (7cf61ebde 2024-03-27)
今度は一つ古いバージョンが表示されたはずです。このように簡単にバージョンの切り替えることができます。
また、インストールされているバージョンを確認する場合は、rustup toolchain listを実行します。
$ rustup toolchain list
stable-x86_64-unknown-linux-gnu
1.77.1-x86_64-unknown-linux-gnu (default)
出力結果の(default)となっている行が現在選択されている使用バージョンになります。stableとなっているのが最新版(この例では1.77.2)です。
元の1.77.2に戻して不要なバージョンは削除しておきましょう。
$ rustup default stable
info: using existing install for 'stable-x86_64-unknown-linux-gnu'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
stable-x86_64-unknown-linux-gnu unchanged - rustc 1.77.2 (25ef9e3d8 2024-04-09)
$ rustup toolchain list
stable-x86_64-unknown-linux-gnu (default)
1.77.1-x86_64-unknown-linux-gnu
$ rustup toolchain uninstall 1.77.1
info: uninstalling toolchain '1.77.1-x86_64-unknown-linux-gnu'
info: toolchain '1.77.1-x86_64-unknown-linux-gnu' uninstalled
$ rustup toolchain list
stable-x86_64-unknown-linux-gnu (default)
また、この後のコンパイル時にlinkerが必要になりますがインストールされていない場合は、gccをインストールしておけばlinkerもインストールされると思いますのでついでにインストールしておきましょう。
# Ubuntuの場合
$ sudo apt install -y gcc
Rustのインストールについて詳細はこちらの書かれています。また、rustupについてはこちらが参考になります。
- Rustにはeditionという考え方があります。著しい新機能の追加、逆に機能が無くなったり、動作が変わってしまうような変更がある場合はeditionが変わります。詳しくはこちらを参照ください。 ↩︎
TOC
GitHubにコードをアップロードしています。
コードのコメントに書かれているfirst_stepなどをcargoコマンドに渡すと実行できます。
# Example
$ cargo run --examples first_step