開発

[binllion] Rust環境のセットアップ

Rustのインストール

開発のためのRustのセットアップから始めたいと思います。

使用するプラットフォームはLinux環境になります。ですが、コードはなるべくどの環境でも動作するようなものにしたいと考えています。が個々の環境の動作確認はしません。

最初のステップはRustのインストールです。

Get Startのページに導入方法が書かれています。インターネットにつながった環境であればこのページに書かれている通り、

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shCode language: JavaScript (javascript)

で、インストールされると思います。

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)

Code language: JavaScript (javascript)

これで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)

Code language: JavaScript (javascript)

再びバージョンを確認してみましょう。

$ 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)
Code language: PHP (php)

出力結果の(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)
Code language: PHP (php)

また、この後のコンパイル時にlinkerが必要になりますがインストールされていない場合は、gccをインストールしておけばlinkerもインストールされると思いますのでついでにインストールしておきましょう。

# Ubuntuの場合
$ sudo apt install -y gcc
Code language: PHP (php)

Rustのインストールについて詳細はこちらの書かれています。また、rustupについてはこちらが参考になります。


  1. Rustにはeditionという考え方があります。著しい新機能の追加、逆に機能が無くなったり、動作が変わってしまうような変更がある場合はeditionが変わります。詳しくはこちらを参照ください。 ↩︎

GitHubにコードをアップロードしています。0.1.0バージョン

コードのコメントに書かれているfirst_stepなどをcargoコマンドに渡すと実行できます。

# Example
$ cargo run --example first_stepCode language: Bash (bash)
管理人

Recent Posts

期間限定!書籍無料キャンペーン2026

書籍発売1.5周年を記念して2…

2週間 ago

情報セキュリティマネジメント試験取得への道

スキルアップを図るべく情報セキ…

3か月 ago

ファイナンシャルプランナー3級試験取得への道

スキルアップを図るべくファイナ…

4か月 ago

[rust] New Type Patternを使ってみる

DDDの考えを取り入れることで…

6か月 ago

RustでDDDの要素を取り入れてみる

前回SOLID原則というものを…

7か月 ago