Rustインストールから入門する

Rustインストールから入門する

Rust とは

Rust とは、プログラミング言語の1種で、速度、並行性、安全性を言語仕様として保証することで、C(C++)に代わるシステムプログラミングに適した言語を目指しています。言語仕様、ソースコード、ドキュメントがオープンソースで公開されています。

2015年にversion1.0が公開されており、比較的新しい言語となります。

システムプログラミングに適した言語であるということからもわかる通り、低レイヤーの開発が得意な言語です。メモリ管理や並行処理などの処理を簡素に記述できるようになっているようです。

この記事でやること

ここでは、Windows に Rust のコンパイラをインストールする手順をまとめます。また、VSCodeを使った開発環境の作り方もまとめます。

参考文献

Foreword – The Rust Programming Language

Rust はドキュメントが整備されています。もちろん英語ですが。

基本的には細心のドキュメントを見ていけばいいようなので、Google翻訳に頼りながら進めていくことにします。

Rust コンパイラのインストール

上のページからインストーラーをダウンロードして実行します。

インストールの途中で、Visual Studio 2013以降用のC ++ビルドツールも必要になることを説明するメッセージが表示されることがあります。

Rust requires the Microsoft C++ build tools for Visual Studio 2013 or later,
but they don't seem to be installed.

The easiest way to acquire the build tools is by installing Microsoft Visual
C++ Build Tools 2017 which provides just the Visual C++ build tools:

  https://aka.ms/buildtools

Please ensure the Windows 10 SDK component is included when installing the
Visual C++ Build Tools.

Alternately, you can install Visual Studio 2015 or Visual Studio 2013 and
during install select the "C++ tools":

  https://www.visualstudio.com/downloads/

Install the C++ build tools before proceeding.

If you will be targeting the GNU ABI or otherwise know what you are doing then
it is fine to continue installation without the build tools, but otherwise,
install the C++ build tools before proceeding.

Continue? (Y/n)

必要なのでインストールしてください。Continue で Y で無視してしまっても後でインストールすればOKです。単純にビルドツールがなければ、コードのコンパイル時にエラーになります。

Visual C++ Build Tools のインストール

Build Tools for Visual Studio 2017 をインストールするのが簡単です。ページ下部の折り畳みを開いて、”Build Tools for Visual Studio 2017″ をダウンロードしてください。

インストーラーを実行すると、以下のような画面でインストールするツールを選べるので Visual C++ Build Tools を選んでインストールしましょう。

コンパイラインストールの続き

Welcome to Rust!

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

It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:

  C:\Users\xxx\.cargo\bin

This path will then be added to your PATH environment variable by modifying the
HKEY_CURRENT_USER/Environment/PATH registry key.

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

Current installation options:

   default host triple: x86_64-pc-windows-msvc
     default toolchain: stable
  modify PATH variable: yes

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

そのあと上のようにインストールの設定を聞かれるので “1” のデフォルトでインストールします。書いてあるのはインストール先のフォルダと、ここにパスを通すよという内容です。

rustc というのが Rust のコンパイラの名前で、cargo というのは Rustのビルドシステム兼パッケージマネージャのようです。インストールするとパスが通ってこれらの利用が可能になります。

インストールが完了したらコマンドプロンプトからバージョンを確認してみましょう。

$ rustc --version
rustc 1.32.0 (9fda7c223 2019-01-16)

バージョン表記は rustc x.y.z (abcabcabc yyyy-mm-dd) となります。リリースされた最新の安定版のバージョン番号、コミットハッシュ、およびコミット日の順です。

記事執筆時の環境は v1.32.0 でした。確認出来たらインストールはOKです。

VS Code でコード補完を使う

エディタは VSCode を使います。(ほかのエディタは試していないのでよくわかりません。)

RLS(Rust Language Server) のインストール

RLS をインストールします。

Rust(rls) は、Rust Language Server の略で、入力補完や定義への移動等、プログラム開発時にエディタ上で使う便利機能を提供するためのプロトコルを Rust 用に実装したものです。これをインストールしておくと、VSCode の拡張機能で効率よく開発進めることが可能です。

RLS は rustup を使ってインストールできます。これはすでに上でインストール済です。なので rustup コマンドが実行できるはずです。では Githubのページを参考にインストールします。

まず、rustup を最新版に更新しておきます。

$ rustup update

次にRLSをインストールします。

$ rustup component add rls rust-analysis rust-src

すべてインストールが完了すればOKです。

RLS拡張機能をインストール

コード補完のない開発はなかなかに苦痛で大変です。

VSCode 拡張機能 Rust(rls) は、RLSを使って構文解析をし、構文エラーの通知や入力補完などで、効率のいい開発をサポートします。

インストールができたら .rs のファイルを VSCode で開いてみましょう。

エディタ左下に RLS と出ていたらOKです。コード補完等が正しく機能する状態です。

適当なコードを書いて、赤い波線で怒られるのが確認できると思います。

RLS could not be started

“RLS could not be started” みたいな文言が表示される場合、VSCode から RLS が起動できないことが原因でエラーになる場合があります。

RLS could not set RUST_SRC_PATH for Racer because it could not read the Rust sysroot.

一応解決策として、VSCode を管理者で開くことで正常に動作させることができました。

Hello World

ではコンパイラのインストールと、開発環境の VSCode の準備ができたので、”Hellow World” の出力を試してみます。

適当な作業フォルダを用意し、そこに “main.rs” という名前でファイルを作成します。Rust のコードは拡張子 .rs を使います。

main.rs

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

エントリポイントとなる main() を定義し、println!() で文字列を出力しています。lnなので改行付きでの出力ですね。

ではビルドします。Windows の場合、ビルドすると exe が作成されます。実行すると、Hello world が表示されます。

$ rustc ./main.rs
$ ./main.exe
Hello, world!

ビルドエラーの場合

error: linker `link.exe` not found
  |
  = note: 指定されたファイルが見つかりません。 (os error 2)

これは、C++ Build Tools がインストールされていないと、発生するようです。インストールしてください。

以上。

参考URL

Rustカテゴリの最新記事