他のインストール方法
どのインストーラを使うべきか
Rustは様々なプラットフォームで動き、多くのインストール方法があります。 最も素直で推奨される方法でインストールしたいならメインのインストールページの指示に従って下さい。
メインのインストールページではrustupを使ったインストール方法が説明されています。
rustup はRustがサポートするプラットフォームで複数のRustのツールチェーンを一貫した方法で管理してくれます。
では、どうしてrustupを使わ ない 方法でインストールする必要があるのでしょうか。
- オフラインなインストール。
rustupはコンポーネントを必要に応じてインターネットからダウンロードします。 インターネットを経由せずRustをインストールしたいのなら、rustupは適さないでしょう。 - パッケージマネージャを使いたいから。 Linuxでは特に、しかしmacOSでのHomebrewやWindowsでのChocolateyでも、プラットフォームのパッケージマネージャでRustをインストールしたい開発者もいるでしょう。
curl | shを使いたくない。 Unixではrustupをcurl経由でシェルスクリプトを実行してインストールします。 セキュリティ上の懸念からこの方法を好まず、インストーラ自身をダウンロードしてインストールしたい人もいます。- 署名を検証したい。
rustupはHTTPSでダウンロードしますが、現行のRustインストーラの署名を検証するにはスタンドアロンインストーラを手でインストールするしかありません。 - WindowsでGUIを使ってインストールし、「プログラムの追加/削除」で管理したい。
rustupはコンソール上で動き、よくあるWindowsのプログラムのようにインストールを登録しません。 Windowsでよくあるプログラムのようにインストールしたいなら、スタンドアロンの.msiインストーラがあります。 将来、rustupもWindowsではGUIインストーラを追加するはずです。
Rustのプラットフォームサポートは3階級で定義されてて、ほぼ利用可能なインストール方法に対応します。
一般に、Rustプロジェクトは1級、2級のプラットフォームにバイナリビルドを提供していて、rustupからインストール出来ます。
しかし2級のプラットフォームのいくつかは標準ライブラリのみインストール可能で、コンパイラ自身はインストール出来ません。
これは、クロスコンパイルのターゲットでしかないということです。Rustのコードはそのプラットフォームで動きますが、コンパイラ自身は動きません。
クロスコンパイルのターゲットは rustup target add コマンドで追加出来ます。
rustup をインストールする他の方法
rustup をインストールする方法はプラットフォーム毎に異なります。
- Unixではシェルから
curl https://sh.rustup.rs -sSf | shを実行します。 これはrustup-init.shをダウンロードし、実行します。 このスクリプトはご使用のプラットフォーム向けの適切なバージョンのrustup-initをダウンロードし、実行します。 - Windowsでは、
rustup-init.exeをダウンロードし、実行します
rustup-initは対話的に設定でき、全てのオプションはコマンドライン引数から制御可能です。
コマンドライン引数はシェルスクリプトから渡せます。
以下のようにrustup-initに--helpを渡すとrustup-initが受け付ける引数が表示されます。
curl https://sh.rustup.rs -sSf | sh -s -- --help
シェルスクリプトを使いたくないなら、それぞれのプラットフォーム向けのrustup-initを自身で選んで直接ダウンロード出来ます。
スタンドアロンなインストーラ
公式のRustのスタンドアロンなインストーラは単一のRustのリリースを内包していて、オフラインでのインストールに適しています。
3種類の形式があります。どんなUnixライクな環境でも動くtarball(.tar.gz 拡張子)、Windowsインストーラ(.msi)、ししてMacインストーラ(.pkg)。
これらのインストーラはrustc、cargo、rustdoc、標準ライブラリ、標準ドキュメントを提供しますが、rustupのように追加のクロスコンパイルターゲットは提供しません。
これらを使うよくある理由は
- オフラインのインストール
- Windowsプラットフォームに統合された、視覚的なインストーラの方が良い
これらのバイナリはRustの署名鍵でRustのビルド基盤でGPGで署名されていてます。
この鍵はkeybase.ioから入手可能です。
以下のテーブルでは asc ファイルは署名です。
過去のリリースはアーカイブにあります。
Stable (1.31.0)
Beta (1.32)
Nightly (1.33)
ソースコード