【Mac, Win】Rustの環境構築完全版

環境構築も大事ですが、とりあえずRustの感覚を掴みたい方は、このサイトのRunで動きます。

Rustのテスト環境

ではまずはMacから構築していきます。

Windows版はこちらの記事でも詳しく解説しています。

RustはXcode Command Line Toolsに依存しているため、最初にこれをインストールします。

ターミナルを開き、以下のコマンドを実行します:

xcode-select --install

インストールが完了すると、コマンドラインで開発に必要なツール(gccなど)が使えるようになります。

ステップ2: Rustupのインストール

Rustの公式ツールチェーンrustupをインストールします。rustupはRustコンパイラ、標準ライブラリ、Cargo(Rustのパッケージマネージャ)をインストールおよび管理するためのツールです。

ターミナルで以下のコマンドを実行して、Rustupをインストールします:

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

表示されるインストールプロンプトに従って進めます。デフォルトのオプションで問題ありません。

ステップ3: パスの設定(自動で設定されることが多い)

rustupが自動的にパスを設定していない場合は、以下のコマンドを実行してパスを手動で追加します。

source $HOME/.cargo/env

これにより、cargorustcコマンドを使用できるようになります。

ステップ4: Rustのインストール確認

Rustが正しくインストールされたか確認するために、以下のコマンドを実行します。

rustc --version

Rustのバージョンが表示されれば、正常にインストールされています。

WindowsでのRust環境構築

ステップ1: Rustupのインストール

Windowsでも、Rustのインストールにはrustupを使用します。公式インストーラーを使用して、簡単に環境構築できます。

まず、Rustの公式サイトhttps://www.rust-lang.org/tools/install)にアクセスし、Windows用のインストーラーをダウンロードします。

次に、インストーラーを実行し、表示される指示に従って進めます。通常はデフォルトの設定で問題ありませんが、以下のポイントに注意します:

  • コンポーネント: rustupcargoが含まれていることを確認してください。
  • パス設定: インストール中に、PATHにRustのツールを追加するオプションが選択されています。

ステップ2: パスの確認(必要に応じて)

rustccargoがコマンドラインから認識されない場合、パスが正しく設定されていない可能性があります。手動で確認・修正するには、以下の手順を行います。

  1. スタートメニューで「環境変数」を検索し、「システム環境変数の編集」を選択。
  2. 「環境変数」ウィンドウで、「システム環境変数」の中からPATHを選択し、編集ボタンをクリック。
  3. C:\Users<ユーザー名>.cargo\binが含まれているか確認し、ない場合は追加。

ステップ3: Rustのインストール確認

コマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行して、Rustが正しくインストールされたか確認します。

rustc --version

Rustのバージョンが表示されれば、インストールは成功しています。

Visual Studio Codeのセットアップ(オプション)

開発効率を高めるために、Rust用のエディタとしてVisual Studio Code(VS Code)を使用するのが一般的です。

ステップ1: Visual Studio Codeのインストール

公式サイト(https://code.visualstudio.com/)からVS Codeをダウンロードし、インストールします。

ステップ2: Rustプラグインのインストール

VS Codeを起動し、拡張機能のアイコンをクリックして、Rust関連のプラグインをインストールします。

  • Rust (rls): Rust Language Serverを提供し、コード補完やエラー検出をサポート。
  • rust-analyzer: Rustプロジェクトの分析を行い、高機能なIDEの機能を提供。

ステップ3: デバッグ設定

デバッグのために、CodeLLDB拡張をインストールします。この拡張は、Rustのデバッグを容易にしてくれます。

初めてのRustプロジェクト作成

Rust環境が構築できたら、実際にプロジェクトを作成してみましょう。

ステップ1: 新しいプロジェクトの作成

以下のコマンドをターミナルまたはコマンドプロンプトで実行して、新しいRustプロジェクトを作成します。

cargo new hello_rust --bin

これで、hello_rustという新しいプロジェクトが作成されます。

ステップ2: プロジェクトのビルドと実行

プロジェクトディレクトリに移動し、ビルドと実行を行います。

cargo new hello_rust --bin

Hello, world!と表示されれば、Rust環境は正常に動作しています。

VS Codeでの実行

. Rustプロジェクトの作成と実行

ステップ1: Rustプロジェクトの作成

  1. ターミナルを開く(VS Codeのメニューから「ターミナル > 新しいターミナル」を選択)。
  2. プロジェクトを作成したいディレクトリに移動し、以下のコマンドで新しいRustプロジェクトを作成します。
cargo new my_rust_project --bin
このコマンドでmy_rust_projectというディレクトリが作成され、その中にRustのプロジェクトファイルが生成されます。

ステップ2: VS Codeでプロジェクトを開く

  1. VS Codeのメニューから「ファイル > フォルダーを開く」を選択し、my_rust_projectフォルダーを開きます。
  2. 開いたフォルダー内にsrcディレクトリがあり、その中のmain.rsファイルがRustプログラムのエントリーポイント(最初に実行されるコード)です。

main.rsの中には、以下のコードが自動生成されているはずです

fn main() {
    println!("Hello, world!");
}

ステップ3: プロジェクトをビルドして実行

VS Codeのターミナルで以下のコマンドを実行して、プロジェクトをビルドし、実行します。

cargo run

これで、Hello, world!がターミナルに表示されます。これがRustプロジェクトをVS Codeでビルドして実行する基本的な方法です。

VS Code内でRunボタンを作成する(タスク設定)

毎回ターミナルを使わず、VS Code内でボタンを使ってRunする方法を設定します。

ステップ1: タスク設定ファイルの作成

  1. メニューから「ターミナル > タスクの実行 > タスクの設定」を選択します。
  2. 提示されたオプションの中から「Rust」または「その他のタスク」を選びます。これにより、.vscodeフォルダーにtasks.jsonファイルが生成されます。

ステップ2: tasks.jsonを設定する

次に、tasks.jsonに以下の設定を追加します。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Run Rust Project",
            "type": "shell",
            "command": "cargo",
            "args": ["run"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$rustc"],
            "detail": "Rust project run task"
        }
    ]
}

これにより、VS Codeの「ターミナル > タスクの実行」から「Run Rust Project」を選択すると、cargo runが自動的に実行されます。

ステップ3: ショートカットキーで実行

VS CodeでRustプログラムをすばやく実行するために、Ctrl + Shift + B(MacではCmd + Shift + B)でデフォルトのビルドタスクとして「Run Rust Project」を実行できます。

Rustプログラムのデバッグ

Rustコードをデバッグするには、CodeLLDBを使います。

ステップ1: デバッグ設定の追加

  1. メニューから「実行 > 構成の追加」を選びます。
  2. プロンプトに従い「LLDB」を選択し、VS Codeにlaunch.jsonが自動生成されます。

ステップ2: デバッグ実行

  1. main.rs内の任意の行にブレークポイント(行番号をクリック)を設定します。
  2. 左側の「実行」アイコン(再生ボタンのアイコン)をクリックし、「デバッグの開始」を選択します。

プログラムはブレークポイントで停止し、変数の値を確認したり、ステップ実行したりできます。


まとめ

  • Rustプロジェクトの作成: cargo newを使用してプロジェクトを作成し、cargo runで実行。
  • VS CodeでのRust設定: Rust-analyzerとCodeLLDBを使って、補完やデバッグをサポート。
  • タスク設定: tasks.jsonを使って、ワンクリックでプログラムを実行する設定を追加。
  • デバッグ: CodeLLDBでRustプログラムのデバッグが可能。

これで、VS Code内でRustのプログラムを作成し、簡単に実行・デバッグできる環境が整いました。

おまけ:なぜ自動生成されるのか?

Rustで新しいプロジェクトを作成した際に

fn main() {
    println!("Hello, world!");
}

が自動生成される理由は、Rustの開発フローをスムーズに進めるための便利な初期設定として、RustのツールチェーンであるCargoがデフォルトでこのコードを生成するようになっているためです。

Rustは、新しくプロジェクトを作成したときに、すぐに動作する最小限のコードを提供します。fn main()は、Rustプログラムのエントリーポイントであり、プログラムの実行がここから始まります。

「Hello, world!」というメッセージを表示するプログラムは、コンソールアプリケーションの中でも最もシンプルな例であり、Rustの構文やプログラムの実行フローに慣れるための手軽な例として広く使われています。Rustプロジェクトを作成してすぐに実行できるため、開発者はすぐにRustプログラムの基本的な動作を確認できます。

自動生成されたコードは、Rustプログラムの基本的な構造を示しています。

  • fn main(): プログラムのエントリーポイントとしての関数定義。
  • println!(): 標準出力にテキストを表示するマクロの使用法。

Rustを初めて学ぶ開発者にとって、これらの要素はRust言語の基本を理解するための入り口となります。

Rustは、開発者体験を非常に重視する言語です。

Cargoは、Rustプロジェクトを管理するための標準的なビルドシステムおよびパッケージマネージャであり、新しいプロジェクトを作成した時に「すぐに動くコード」を提供することで、開発者がすぐにRustのコードを書いたり実行したりできるようにしています。

この自動生成によって、開発者はツールのセットアップや最小限のコードを書き始める作業に煩わされることなく、Rustのコーディングに集中できる環境が整います。