うたカモ技術ブログ

Rust   開発環境の構築とプログラムの実行

post: 

この記事では、近年急速に人気を集めているRust言語のインストール方法を紹介します。

RustはC言語と比較しても実行速度が速く、効率的なコードを書くことができるプログラミング言語です。

Rustは特にメモリ管理の面で非常に優れており、メモリ安全性の観点からLinuxカーネルのコードを Rustに置き換える取り組みも進められるなど注目されています。

今回はそんなRustを学ぶに当たっての最初の作業であるインストールについて紹介します。

Rustのインストール

この記事ではLinux(WSL)とWindowsのそれぞれにRustをインストールする方法を紹介します。

Linux(WSL)にRustをインストールする

公式サイトのインストールページに掲載されている以下のコマンドを実行することでインストールできます。

kamo@kamo:~$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

ということで、早速インストールしてみます。

kamo@kamo:~$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
info: downloading installer

Welcome to Rust!

This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.

Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:

    /home/kamo/.rustup

This can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory is located at:

    /home/kamo/.cargo

This can be modified with the CARGO_HOME environment variable.

The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:

    /home/kamo/.cargo/bin

This path will then be added to your PATH environment variable by
modifying the profile files located at:

    /home/kamo/.profile
    /home/kamo/.bashrc

You can uninstall at any time with rustup self uninstall and
these changes will be reverted.

Current installation options:


    default host triple: x86_64-unknown-linux-gnu
        default toolchain: stable (default)
                profile: default
    modify PATH variable: yes

1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>1  #問題なければ1を選択して通常インストールを実施する

上記のコメントにも書いてある通り、特に問題なければ通常インストールの1を指定します。 そして、インストールが進むと以下の内容が表示されます。

.
.
.
<表示を省略(インストール過程が書いてある)>
.
.
.

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, you need to source
the corresponding env file under $HOME/.cargo.

This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish"  # For fish
kamo@kamo:~$

これでインストールが成功しました。

ホームディレクトリ直下の隠しディレクトリの.cargoに Rustのコンパイラであるrustcなどの開発ツールが入っています。(ちなみに、Cargoは ビルドツールの名前です。)

kamo@kamo:~$ tree .cargo
.cargo
├── bin
│   ├── cargo
│   ├── cargo-clippy
│   ├── cargo-fmt
│   ├── cargo-miri
│   ├── clippy-driver
│   ├── rls
│   ├── rust-analyzer
│   ├── rust-gdb
│   ├── rust-gdbgui
│   ├── rust-lldb
│   ├── rustc
│   ├── rustdoc
│   ├── rustfmt
│   └── rustup
└── env

これにより、Linux(またはWSL)の現在のシェルを再起動した上で次のコマンドでバージョン確認ができます。

kamo@kamo:~$ rustc --version
rustc 1.84.1 (e71f9a9a9 2025-01-27)

これで、今回私がインストールしたRustのバージョンは1.84.1であることが分かりました。

WindowsにRustをインストールする

次はWindowsにRustをインストールする方法について説明します。

まず、Rustの公式サイトのインストールページにアクセスして rustup-init.exe(32-bit)をダウンロードするまたはrustup-init.exe(64-bit)をダウンロードするのボタンを押します。

ダウンロードされたインストーラーを起動します。

すると、以下のコンソール画面が表示されますので特段問題が無ければ「1」を選択します。 (Windowsでは「1」を選択するとVisual Studio Communityのインストーラー経由でRust環境がインストールされるようです。)

「続行」をクリックします。

続けて「インストール」をクリックします。

これで必要なコンポーネントのインストールが始まります。

インストールが完了すると以下の画面が表示されますので「OK」をクリックします。

Visual Studioのサインインorアカウント作成を求められます。(これはする必要があるのだろうか? もしかしたら、この手順はスキップしてWindowsの再起動をするだけでRustが使えるようになるかもしれません。)

サインインをすると、次の画面が表示されます。

ここまで行ければRust言語でプログラミングする環境が整いました。

最後にWindowsを再起動すれば完了です。

Rustが利用できない場合

再起動後はコマンドプロンプトでcargoと 入力すればコマンドが実行できるようになります。しかし、そうならない場合はVisual StudioまたはVisual Studio C++ Build toolsをインストールしてください。

その際は次のワークロードと「Git for Windows」にチェックを入れてください。 (私の場合はGitを既にインストールしていたのでチェック項目はありませんでした。どうやらRustのプロジェクト管理として Gitを使用することがデフォルトらしいです。)

MicrosoftとしてはVisual Studio Codeを使っての開発を推奨

MicrosoftによるとWindowsでRustプログラミングをする場合はVisual Studio Codeを使うと便利だとのことなので、 次の公式ページからダウンロード&インストールすることをおススメします。

Visual Studio CodeはWindowsのコマンドプロンプト上で次のように呼び出すと、カレントディレクトリ を起点にして起動します。個人的にそこは便利だと思います。

code .

最初のRustプログラム HelloWorld

インストールが出来たところで、最初のRustプログラムを実行したいと思います。

Rustでは、作成したプログラムをプロジェクト呼ばれる単位で扱います。そのため、基本的にはビルドツールの Cargoコマンドでプロジェクトを先に作成し、その中にRustのソースファイルを置くことでプログラムを管理します。

ここでは、LinuxのコンソールとWindowsのVisual Studioのそれぞれでプロジェクトを作成し、初めてのプログラム として代表的なHelloWorldプログラムを実行してみたいと思います。

デフォルトでは、プロジェクトの作成時にHelloWorldプログラムが入っていますのでそれを実行します。

Linux(WSL)でプロジェクトを作成してHelloWorldプログラムを実行する

Cargoコマンドによるプロジェクトの作成
Linux(WSL)のコンソール上に次のコマンドを実行することでプロジェクト「my_app」が作成されます。

kamo@kamo:~$ cargo new my_app

Rustの推奨されるプロジェクト名

推奨されるの名前の形式は、スネークケース(snake_case)またはケバブケース(kebab-case)です。

上記のコマンドを通るとカレントディレクトリに次の構造の「my_app」ができます。

kamo@kamo:~$  tree my_app
my_app
├── Cargo.toml
└── src
    └── main.rs

[1]: Cargo.toml
Cargo.toml ファイルはRustプロジェクトの設定や依存関係を管理します。

[2]: main.rs
Rust言語のソースファイルです。デフォルトではコンソールにHelloWorldと出力するプログラムが記述されています。 そのため、このソースファイルを編集して作りたいプログラムを書いていくことになります。

HelloWorldプログラムをビルドして実行する
「my_app」プロジェクトの作成が完了したら、my_appのディレクトリをカレントディレクトリとした上でcargo runコマンドを実行します。

kamo@kamo:~$ cd my_app
kamo@kamo:~/my_app$ cargo run

ビルドが開始され、プログラムが実行されます。(プログラムが実行されると次のようにコンソール上に「Hello, world」と表示されます。)

Compiling my_app v0.1.0 (/home/kamo/my_app)
 Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.20s
  Running `target/debug/my_app`
Hello, world!

以上により、Linux(WSL)上でプロジェクトの作成とRustプログラムの実行ができました。

Windowsでプロジェクトを作成してHelloWorldプログラムを実行する

まず、Windowsのメイン画面の下にある検索バーに「cmd」と入力してコマンドプロンプトを表示します。

そして、次のコマンドを実行することでRustプロジェクトのmy_appを作成します。

C:\Users\xxxx>cargo new my_app

作成されたmy_appプロジェクトに移動してエディタ(今回はVisual Studio Code)を起動します。

C:\Users\xxxx>cd my_app
C:\Users\xxxx\my_app> code . #これでVisual Studio Codeがmy_appフォルダをターゲットとして起動します。

エディタ起動後、my_app/src/main.rsを見るとHelloWoroldプログラムがあることが確認できます。 プログラムを作成するときはmain.rsを書き換えるか新たに.rsのソースファイルを追加することで可能です。

確認ができたら次はビルドです。

コマンドプロンプトに戻り、次のcargo runを実行します。

C:\Users\hawkm\my_app>cargo run
Compiling my_app v0.1.0 (C:\Users\hawkm\my_app)
 Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.47s
    Running `target\debug\my_app.exe`
Hello, world!

ビルドが成功すると、自動でプログラムが実行され「Hello, world」と表示されます。

これでWindows上でRustプログラムのビルドと実行ができました。

おわりに

今回はRustプログラミングの最初の一歩として開発環境のインストールについて紹介しました。

LinuxとWindowsのぞれぞれでRustの開発環境を構築し、プログラムのビルドと実行ができたことで プログラミング学習をスタートできるようになりました。

個人的には、プログラミング学習の最難関(超めんどくさい事)は開発環境の構築だと思いますので、 後はRustでのプログラミングを理解するだけです。

特に最近はAIなどの利用で効率的に学習できるので、自分一人では理解しにくいところをAIに聞いたりすると良いと思います。

余談ですが、私もRustは初心者です。
私はX86やMIPSアーキテクチャのCPUエミュレーターを作成するためにRust言語の学習を始めました。 自作のCPUエミュレーター上で組み込みOSを動作させることを目的としています。

最終的には、自作したCPUエミュレーターをWebAssemblyでWebブラウザー上で実行させたいと思っています。 これでWebサーバーに不可を掛けずに私の組み込み系OSの記事を読んでいる方がハンズオンでコマンドの実行を試すことができます。

(ちなみに既にWebVMというブラウザ上でLinuxを実行させるサービスがあります。 しかし、このサービスが使用しているコアソフトウェアはプロプライエタリなので商用利用するにはお金が掛かります。 なので、それならば全部自作してしまえと思いました。)

こんな感じで、作りたいものを決めてから学習した方がやる気が出るのでおススメします。