Rustの開発環境セットアップ
はじめに
前回の投稿でレポートした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製のツールをインストール
プロジェクトの作成や実行で使用した cargo
の install
コマンドを使うと、Rust製のツールを簡単にインストールできます。以下は普段使っていて便利だと思ったRust製のツールです。
- ripgrep
- 概要: 検索ツール。
grep
みたいな感じです、とにかく速い - インストール:
cargo install ripgrep
- リポジトリ: GitHub - BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern
- 概要: 検索ツール。
- exa
- 概要: ファイル列挙ツール、
ls
みたいな感じです。ツリー表示できて便利 - インストール:
cargo install exa
- リポジトリ: GitHub - ogham/exa: Replacement for 'ls' written in Rust.
- 概要: ファイル列挙ツール、
- fd
- 概要: ファイル検索ツール、
find
みたいな感じです、これも速い - インストール:
cargo install fd-find
- リポジトリ: GitHub - sharkdp/fd: A simple, fast and user-friendly alternative to 'find'.
- 概要: ファイル検索ツール、
おわりに
今回はRustの開発環境を用意してHello, Worldプログラムを試してみました。プロジェクトの構成管理やビルドが cargo
コマンドに集約されていて非常に使いやすいです。
The Book や Rust By Example といった学習用のドキュメントが充実しているのも嬉しいですね。