multirust を利用した Rust コンパイラのインストール

More than 1 year has passed since last update.

2017/05/22 追記:この記事は古いので、今からRustをはじめられる方はこちらの記事にあるrustupをご利用ください!

プログラミング言語 Rust もラピッドリリースになり、コンパイラが頻繁にアップデートされるようになりました。homebrew やインストーラーではなく、multirust というツールを使ってインストールしておくと、アップデートを簡単に行えるようになって便利です。

公式サイトはこちら:brson/multirust


multirust とは

複数バージョンの Rust をインストール / 管理できるツールで、以下のような特徴を持ちます。


  • オフィシャルに配布されている Rust バイナリをインストールできる

  • ディレクトリごとに利用するツールチェーンのバージョンを管理できる

  • nightly, beta, stable のリリースチャンネルを指定して、インストールや更新が行える

  • 更新の自動確認

  • 公式のアーカイブを利用することによって、時期を指定して nightly をインストールできる

  • バージョンを指定してのインストール

  • インストールするツールチェーンのカスタマイズ

  • Cargo のデータの分離によるインストールごとに独立したライブラリ管理

  • ダウンロードしたバイナリのハッシュ値と署名の確認

  • 分割ダウンロードと、レジューム

  • bash, curl と一般的な UNIX のツールがあれば動作可能


multirust を使ったインストール

curl を使ってダウンロードしたシェルスクリプトを実行するだけでインストールできます。

実際のコマンド入力例は以下のとおり:

% curl -sf https://raw.githubusercontent.com/brson/multirust/master/blastoff.sh | sh # step 1 


プロジェクトで利用するリリースチャンネルの変更

override コマンドで利用する Rust のリリースチャンネルを変更できます。この設定は、コマンドを実行したディレクトリ以下で有効です。

設定されたリリースチャンネルのツールがインストールされていない場合は、ツールのダウンロードとインストールもあわせて行われます。

% mkdir project_with_nightly

% cd project_with_nightly
% multirust override nightly
multirust: installing toolchain 'nightly'
rustup: gpg available. signatures will be verified
rustup: downloading manifest for 'nightly'
(後略)

特定の日時の nightly をインストールしたい場合は、次のように日付をつけて override コマンドを実行します。

% multirust override nightly-2016-04-07

stable なら、利用するバージョンを指定できます。

% multirust override 1.0.0


コンパイラのバージョンアップ

update コマンドを利用します。

% multirust update

multirust: updating existing install for 'stable'
rustup: gpg available. signatures will be verified
rustup: downloading manifest for 'stable'
rustup: downloading toolchain for 'stable'
rustup: 'stable' is already up to date
(後略)

ただし上記のコマンドでは、全てのリリースチャンネルのものをアップデートします。stable だけアップデートするなら、次のようにリリースチャンネルを指定して実行します。

% multirust update stable


まとめ

multirust を使えば、コマンド 1 つで Rust 開発環境が手に入り、しかも開発に利用するコンパイラのバージョンを固定することも可能です。

nightly ユーザにとっては、更新が簡単に行える点も嬉しいツールです。わざわざサイトへ行かなくても、update コマンドで更新できるのは、楽すぎます。

multirust で楽しい Rustitian ライフを!