ちょっと話題の記事

Rustの開発環境セットアップ

2018.03.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

前回の投稿でレポートしたRustの開発環境を構築してみます。とても手軽なのでRustが気になっている方はぜひお試しください。

検証環境

  • macOS: 10.12.6
  • Command Line Tools for Xcode: 9.2.0.0.1.1510905681
  • rustup: 1.11.0 (e751ff9f8 2018-02-13)
  • Rust: 1.24.1

rustupとは?

Rustプロジェクトが公式に提供しているインストーラーです。 rustup コマンドでRustのコンパイルに必要なツールチェーンやクロスコンパイル環境を構築できるようになります。

rustupをインストール

まず、rustupの公式サイトにアクセスしましょう。

手元で試したところ、環境によって表示内容が変わるようです。

Windowsの場合

rustup-init.exe のリンクが表示されるので、ダウンロードしてインストーラの指示に従いインストールしましょう。 インストール先の確認が求められるので、環境に合うものを選択しましょう。 1 を選択した場合は %USERPROFILE%\.cargo 以下にインストールされるようです。

Windowsの場合、MSVC ABIを使う場合とGNU ABIを使う場合で前提となる環境が異なるようです。

  • MSVC ABIの場合
    • Visual Studioのツールチェーン
  • GNU ABIの場合
    • GCCツールチェーン (MinGW/MSYS2)

詳細はrustupリポジトリの注意書きを参照してください。

Linux/Macの場合

表示されるコマンドを実行してインストールしましょう。

$ curl https://sh.rustup.rs -sSf | sh

インストール先の確認が求められるので、環境に合うものを選択しましょう。 1 を選択した場合は、$HOME/.cargo/ 以下に各種ツールがインストールされます。インストール完了後にシェルを再起動するか、下記のコマンドで環境設定を反映するとRustのコンパイル環境が有効になります。

$ source $HOME/.cargo/env

インストール確認

rustupがインストールされたか確認してみましょう。

$ rustup --version
rustup 1.11.0 (e751ff9f8 2018-02-13)

ツールチェーンをインストール

Rustには3種類の配布用チャネルが用意されています。

  • stable: 安定リリース版
  • beta: 次期バージョンに向けたベータ版
  • nightly: 開発版

今回は安定リリース版の stable チャネルでインストールします。 チャネルの詳細はRustの開発者ブログエントリを参照してください。

rustup コマンドを使ってインストールします。

$ rustup install stable

rustc コマンドを使えるようになったか確認しましょう。

$ rustc --version
rustc 1.24.1 (d3ae9a9e0 2018-02-27)

Hello, World を試す

Hello, Worldアプリケーションを試してみます。cargo new コマンドでプロジェクトを作成しましょう。

$ cargo new --bin hello-rust
     Created binary (application) `hello-rust` project

hello-rust/ 以下に以下の構成でファイルが生成されます。

hello-rust
├── Cargo.toml    # プロジェクトの設定ファイル
└── src
   └── main.rs    # ソース

ソースを確認してみます。

$ cd hello-rust/
$ cat src/main.rs
fn main() {
    println!("Hello, world!");
}

都合よく Hello, world! と表示するプログラムが用意されているので、 cargo run コマンドで実行してみましょう。デフォルトでデバッグ用ビルドになるので、--release オプションを指定してリリース用ビルドにしてみましょう。

$ cargo run --release
   Compiling hello-rust v0.1.0 (file:///Users/yoshihitoh/tmp/rust/hello-rust)
    Finished release [optimized] target(s) in 1.49 secs
     Running `target/release/hello-rust`
Hello, world!

表示されましたね!

おまけ: Rust製のツールをインストール

プロジェクトの作成や実行で使用した cargoinstall コマンドを使うと、Rust製のツールを簡単にインストールできます。以下は普段使っていて便利だと思ったRust製のツールです。

おわりに

今回はRustの開発環境を用意してHello, Worldプログラムを試してみました。プロジェクトの構成管理やビルドが cargo コマンドに集約されていて非常に使いやすいです。 The BookRust By Example といった学習用のドキュメントが充実しているのも嬉しいですね。

参考