⚙️

【Rust 入門】macOS と VSCode で環境構築をする方法

2023/10/15に公開

概要

Rust はメモリ安全性・速度・並行性の点で優れたプログラミング言語です。C や C++ と同じくシステムプログラミング言語としての側面を持ちながら、高性能な Web サーバーや API を開発することができ、バックエンド開発のための言語としても利用することができます[1]

今回は記事執筆時(2023/10/15) macOS で Rust の開発環境を整えるための手順を解説させていただきます。

この記事を読んでわかること

  • macOS で Rust の環境構築をする方法
  • cargo コマンドとそれらに付随するコマンドの基本的な使い方
  • Rust のプロジェクト作成・実行方法
  • VSCode で Rust の開発環境を整える方法

対象読者

  • Rust に初めて触れる開発者
  • 他の言語である程度の開発経験がある開発者

前提知識・環境

  • brew コマンドの基本的な使い方
  • VSCode の基本的な使い方
  • Intel macOS Sonoma v14.0

1. Rust の開発環境の構築

1.1. rustup-init コマンドのインストール

Rust では cargo, rustc, rustdoc, rustup コマンドを用いて開発を行います。
これらのコマンドをまとめて使えるようにするための rustup-init コマンドを Homebrew からインストールします。

brew install rustup-init

上記のコマンドを実行後、シェルを再起動してもらえれば rustup-init コマンドが使えるようになります。rustup-init コマンドを実行します。

rustup-init

実行後、下記の3択から選ぶように入力を求められます。今回はデフォルトの 1 で環境構築を行います。1 を入力して Enter キーを押して下さい。

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
> 1

再びシェルを再起動してもらえれば、cargo, rustc, rustdoc, rustup コマンドが使用できるようになっているはずです。確認のためにそれぞれのバージョンを見てみます。

# cargo のバージョン確認
cargo --version
# rustc のバージョン確認
rustc --version
# rustdoc のバージョン確認
rustdoc --version
# rustup のバージョン確認
rustup --version

それぞれのコマンドを実行してバージョンが表示されれば準備完了です。

1.2. 各コマンドの基本的な使い方

1.2.1. cargo コマンド

cargo は Rust のコンパイルマネージャー兼パッケージマネージャーです。プロジェクトの作成・プログラムのビルド・ライブラリの管理などを担います。

# プロジェクトの新規作成
cargo new (プロジェクト名)
# カレントディレクトリでプロジェクトを作成
cargo init
# プログラムの実行
cargo run
# テストの実行
cargo test
# ビルドの実行
cargo build
# パッケージのインストール
cargo install (パッケージ名)
# パッケージのアンインストール
cargo uninstall (パッケージ名)

Node.js の npm コマンドのように使用できますね。

1.2.2. rustc コマンドの使い方

rustc は Rust のコンパイラです。基本的には cargo を使ったビルドの過程でコンパイルが自動的に行われますが、rustc を使って直接コンパイルすることもできます。

# rustc によるコンパイル
rustc (ファイルのパス)

1.2.3. rustdoc の使い方

rustdoc は Rust のドキュメンテーションツールです。ドキュメントの作成に用いられますが、cargo doc で同様の操作が行えるため、直接実行することは少ないかもしれません。

# rustdoc によるドキュメントの生成
rustdoc (ファイルのパス)

1.2.4. rustup コマンド

rustup コマンドは Rust のアップデートを行う際に使用します。

# Rust のツールチェーンすべてのアップデート
rustup update
# Rust の安定版へのアップデート
rustup update stable
# Rust の Nightly 版へのアップデート
rustup update nightly
# Rust のデフォルトのツールチェーンの設定
rustup default stable

Node.js の nvmnodenv のような役割を担っていますね。

以上が Rust の開発における基本的なコマンドの使い方です。おおよそコマンドについての理解が得られたところで、プロジェクトの作成と実行を試してみます。


2. Rust プロジェクト作成・実行

Rust でのプロジェクトの作成方法は 2 通りあります。
カレントディレクトリ直下にプロジェクトを作成する場合は cargo new (プロジェクト名) を実行します。今回はプロジェクト名を rust-project として作成します。

カレントディレクトリ直下にプロジェクトを作成する場合
cargo new rust-project

また、カレントディレクトリ自体をプロジェクトとする場合は cargo init コマンドを実行します。

カレントディレクトリをプロジェクトとする場合
mkdir rust-project
cd rust-project
cargo init

上記いずれかの方法でプロジェクトを作成し、rust-project ディレクトリ内で src/main.rsHello, world! を出力する Rust のプログラムが生成されます。

src/main.rs
fn main() {
    println!("Hello, world!");
}

プロジェクト内の任意のディレクトリで下記のコマンドを実行するとターミナルに Hello, world! が表示されます。

cargo run

これでプロジェクトの作成を行って、プログラムを実行するまでの流れが完了です。


3. Rust の開発で役立つ VSCode の拡張機能

最後に VSCode で Rust の開発を行うときに役立つ拡張機能の紹介をして締めくくらせていただきます。Rust の開発元から公式で出ている rust-analyzer というプラグインがおすすめです。

https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer

これさえインストールしておけば、コードのシンタックスハイライト・スニペットの表示・コードのフォーマットなど一通りのことはやってくれます。

フォーマットをする際は、VSCode で ⌘ Shift P でコマンドパレットを開き Format Document と入力して下さい。フォーマットに rust-analyzer を選択すれば変更を保存したときに自動でフォーマットしてくれるようになります。


最後まで読んでくださりありがとうございました。
今回はこれから Rust を使って開発を行う人向けに基本的な環境構築の方法を解説させていただきました。筆者自身、記事執筆時点では Rust に触れて間もないためまだまだ勉強しなくてはなりません。Rust の開発で学んだことは随時記事にさせて頂こうと思います。

脚注
  1. Rust 公式ドキュメント ↩︎

Discussion