ずっと気になっていた言語のRust。
Stack Overflowによる調査で、長年“最も愛されるプログラミング言語”の1位というものです。
最近、どんどん目にする機会も増えてきて「これは勉強したほうが良いのかも」と強く感じるようになってきました。
新しい言語を学ぶにあたって、最初にやらなければならないのは環境構築です。
言語と開発環境によっては意外と手間取ったりして面倒ですよね。
そこで今回は、Rustへの入り口として環境構築について書いていきます。
開発環境
本記事における開発環境は下記です。
- macOS Monterey 12.4
- Mac mini (M1, 2020)
- メモリ 16GB
- IDE: WebStorm & IntelliJ IDEA CE
先に結果を書くと、
例えばHaskellの場合、(筆者の)M1 Macでは普通にインストールしてもうまく動かず、Linux仮想環境を構築したりとひと手間かける必要がありました。
Rustにおいてはそういったことをする必要がなく、公式が公開している手順どおりにインストールすれば問題なく動作させることができます。
インストールできるという当たり前のことではありますが、M1 Macを使っているとこういったこともありがたく感じますね。
Rustのセットアップ
下記の公式サイトにアクセスします。
公式サイトを開くと、使用している環境に応じたインストール方法が提示されます。
下記は筆者の環境(Mac)における公式サイトのキャプチャですが、赤枠のようにインストールコマンドが提示されます。
※以降はMac環境で実際に行った手順を示していきます。
公式サイトに従ってインストールコマンドを実行します。
-zsh % curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
...
中略
...
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
> (そのままEnterを押す)
...
中略 いろいろインストールされる
...
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, run:
source $HOME/.cargo/env
最後にsource $HOME/.cargo/env
を実行してねとあるのでそのとおりに実行する。
source $HOME/.cargo/env
以上でインストールは完了!
WebStorm
WebStormでもRustプログラミングができるようなので、設定と動作確認をします。
プラグインのインストール
JetBrains公式からRustのプラグインが提供されているのでインストールします。
インストール後、WebStormは再起動しておきましょう。
プロジェクトの作成
新規プロジェクト作成画面を開くと左側にRustの文字が!
プロジェクトの場所は適当に設定して、作成を実行。
すると無事プロジェクトが作成されました。
gitも設定されているようです。
動作確認
コードの実行
追加設定は不要で、実行ボタンからそのまま実行できます。
コードの静的解析
こちらも特に追加設定等は不要でうまく静的検証をやってくれて、IDE上にも表示してくれます。
JavaScript,TypeScriptを使っていると感覚がずれてきますが、ESLintのようなものをわざわざインストール・設定しなくても静的検証を良い感じにやってくれます。
ありがたい。
コードフォーマッタ
WebStorm上では、デフォルト状態だとWebStormのフォーマッタが優先されるっぽい。
Rustをインストールすると、rustfmtというコードフォーマッタもついてきます。
そのためWebStormでもこちらを使うように設定しておきましょう。
ついでにファイル保存時にフォーマットされるようにも設定しておきます。
補足
もしもRust環境がうまく読み込めていなさそうなら下記の設定画面を一度開くと良い感じに読み込まれるかもしれません。
IntelliJ IDEA Community Edition
WebStormとほぼ同じですが、IntelliJ IDEA Community Editionでの手順ものせておきます。
プラグインのインストール
JetBrains公式からRustのプラグインが提供されているのでインストールします。
インストール後、IntelliJ IDEAは再起動しておきましょう。
プロジェクトの作成
新規プロジェクト作成画面でRustを選択。
デフォルトのまま次へ。
次に開く画面で、必要な部分を入力して作成を実行。
無事プロジェクトが作成できました!
追加設定は不要で、実行ボタンからそのまま実行できます。
Rustのバージョン変更
インストールでRustをインストールした際に、rustupというツールもインストールされます。
Rustではこのrustupにて複数のバージョンを管理することができます。
nodejsではnvmやasdfなどのバージョン管理ツールを用いていましたが、Rustでは公式提供のツールがデフォルトで使えるのでサードパーティ製を使う必要もなさそうです。
バージョンを変更する方法はいくつか用意されているようですのでそれぞれ試してみました。
バージョンの確認方法
まずはバージョンの確認方法から。
ここでは表示のわかりやすさから以下のコマンドを使用します。
rustup show
実行すると以下のように表示されます。
/bin/zsh % rustup show
Default host: aarch64-apple-darwin
rustup home: /Users/yourname/.rustup
installed toolchains
--------------------
stable-aarch64-apple-darwin (default)
active toolchain
----------------
stable-aarch64-apple-darwin (default)
rustc 1.61.0 (fe5b13d68 2022-05-18)
真ん中らへんのinstalled toolchains
がインストール済のバージョン一覧です。
その中のdefault
となっているものが現在のデフォルト(グローバル)設定となります。
最後のactive toolchain
が現在適用されているバージョンで、カッコ内の部分は複数ある設定の中でどの設定が適用されたかを示しています。
上記の例ではdefault
バージョンが適用されていることを示しています。
デフォルト(グローバル)バージョンの変更
まずはデフォルト(グローバル)バージョンを変更してみます。
変更するためには以下のコマンドを任意のバージョン指定で実行します。
rustup default <VERSION>
ここでは1.61.0 → 1.60.0に変更してみます。
/bin/zsh % rustup default 1.60.0
info: using existing install for '1.60.0-aarch64-apple-darwin'
info: default toolchain set to '1.60.0-aarch64-apple-darwin'
1.60.0-aarch64-apple-darwin unchanged - rustc 1.60.0 (7737e0b5c 2022-04-04)
その後、rustup show
でバージョン確認。
/bin/zsh % rustup show
...
installed toolchains
--------------------
stable-aarch64-apple-darwin
1.60.0-aarch64-apple-darwin (default)
active toolchain
----------------
1.60.0-aarch64-apple-darwin (default)
rustc 1.60.0 (7737e0b5c 2022-04-04)
きちんとデフォルトバージョンが変更できているようです。
設定ファイルによるバージョン指定
Rustプロジェクト内にrust-toolchain.toml
もしくはrust-toolchain
という設定ファイルを配置すると、該当プロジェクト内では設定ファイルで指定したバージョンを使用するようにできるようです。
設定ファイル内で設定できる項目はいくつかありますが、今回はバージョンのみを指定します。
プロジェクトルートに以下の内容で設定ファイルを作成します。
[toolchain]
channel = "1.59.0"
この状態で対象プロジェクト内のバージョンを確認してみると、rust-toolchain.toml
で指定したバージョンが適用されていることが確認できます。
/bin/zsh % rustup show
...
active toolchain
----------------
1.59.0-aarch64-apple-darwin (overridden by '/Users/yourname/src/rust/rust-toolchain.toml')
rustc 1.59.0 (9d1b2106e 2022-02-23)
Directory overrides
特定のディレクトリを対象に使用するバージョンを変更できるようです。
実行するコマンドは以下。
rustup override set <VERSION>
先ほどrust-toolchain.toml
を配置したプロジェクトディレクトリで実行してみます。
/bin/zsh % rustup override set 1.58.0
...
info: using existing install for '1.58.0-aarch64-apple-darwin'
info: override toolchain for '/Users/yourname/src/rust' set to '1.58.0-aarch64-apple-darwin'
1.58.0-aarch64-apple-darwin unchanged - rustc 1.58.0 (02072b482 2022-01-11)
バージョン確認すると、コマンドで指定したバージョンが適用されていることがわかります。
/bin/zsh % rustup show
...
active toolchain
----------------
1.58.0-aarch64-apple-darwin (directory override for '/Users/yourname/src/rust')
rustc 1.58.0 (02072b482 2022-01-11)
環境変数 RUSTUP_TOOLCHAIN
最後に環境変数RUSTUP_TOOLCHAIN
によるバージョン指定をしてみます。
/bin/zsh % export RUSTUP_TOOLCHAIN=1.57.0
/bin/zsh % env
...
RUSTUP_TOOLCHAIN=1.57.0
バージョン確認すると、環境変数の設定が適用されています。
/bin/zsh % rustup show
...
active toolchain
----------------
1.57.0-aarch64-apple-darwin (environment override by RUSTUP_TOOLCHAIN)
rustc 1.57.0 (f1edd0429 2021-11-29)
アンインストール
不要バージョンのアンインストール
rustup
で複数バージョンのRustを管理できるわけですが、不要なバージョンも出てくると思います。
不要なバージョンをアンインストールするには下記のコマンドを実行します。
rustup toolchain uninstall <VERSION>
Rust自体をアンインストール
Rustそのものをアンインストールする場合は、下記のコマンドを実行します。
rustup self uninstall
公式サイトの「Uninstall Rust」の項に記載されています。
最後に
こういった環境構築はなにかしらで詰まることが多く、内心ドキドキしながらやっていましたが、すんなりと環境構築が完了できました。
M1 Macでも問題なく進めることができたのはポイントが高いです。
これからRustを始める人にとっては良いスタートとなるはずです!