Rustのバージョン管理:rustupの使い方
はじめに
Rustのバージョン管理は rustup 1つで完結します。他の言語のようにnvmやpyenvなど外部ツールを導入する必要はありません。
この記事ではrustupを使ったチャンネル管理・バージョン切り替え・プロジェクト別設定の方法を解説します。
バージョン確認コマンドは「Rustのバージョン確認方法まとめ」を参照してください。
rustupのインストール
Rustをインストールするとrustupも同時にインストールされます。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
インストール後、シェルの設定を反映します。
source ~/.cargo/env
チャンネルの管理
Rustにはstable・beta・nightlyの3つのリリースチャンネルがあります。
チャンネルをインストールする
# stable(デフォルト) rustup install stable # nightly(最新開発版) rustup install nightly # 特定バージョン rustup install 1.82.0
デフォルトチャンネルを切り替える
# stableをデフォルトに設定 rustup default stable # nightlyをデフォルトに設定 rustup default nightly
特定チャンネルでコマンドを実行する
デフォルトを変えずに一時的に別チャンネルで実行できます。
rustup run nightly cargo build rustup run nightly rustc --version
バージョンのアップデート
全チャンネルをアップデート
rustup update
info: syncing channel updates for 'stable-aarch64-apple-darwin' info: latest update on 2024-10-17, rust version 1.82.0 (f6e511eec 2024-10-15) info: syncing channel updates for 'nightly-aarch64-apple-darwin' ... stable-aarch64-apple-darwin updated - rustc 1.82.0 nightly-aarch64-apple-darwin updated - rustc 1.84.0-nightly
特定チャンネルだけアップデート
rustup update stable rustup update nightly
プロジェクト別のバージョン設定
rust-toolchain.toml(推奨)
プロジェクトのルートに rust-toolchain.toml を置くことで、そのプロジェクトで使うツールチェーンを固定できます。
[toolchain] channel = "stable"
特定バージョンを指定する場合:
[toolchain] channel = "1.82.0"
nightlyの機能を使う場合:
[toolchain] channel = "nightly"
このファイルをgitで管理することで、チームで同じバージョンを使えます。ディレクトリに入ると自動的に指定バージョンに切り替わります。
rustup override(一時的な設定)
rust-toolchain.toml を使わずにディレクトリ単位で設定する方法です。
# 現在のディレクトリにoverrideを設定 rustup override set nightly # 特定バージョンを設定 rustup override set 1.80.0 # override一覧を確認 rustup override list # overrideを解除 rustup override unset
コンポーネントの管理
rustupはRust本体以外のコンポーネントも管理します。
# インストール済みコンポーネントを確認 rustup component list --installed # よく使うコンポーネントを追加 rustup component add rust-analyzer # LSP(エディタ補完) rustup component add clippy # Linter rustup component add rustfmt # フォーマッター rustup component add rust-src # ソースコード(デバッグ用)
ツールチェーンの削除
不要なツールチェーンを削除してディスク容量を確保できます。
# インストール済みツールチェーン一覧 rustup toolchain list # 特定ツールチェーンを削除 rustup toolchain uninstall nightly # 古いバージョンを削除 rustup toolchain uninstall 1.80.0
よく使うコマンドまとめ
| 操作 | コマンド |
|---|---|
| Rustをインストール | curl ... | sh |
| アップデート | rustup update |
| デフォルトチャンネル変更 | rustup default stable |
| nightly版でビルド | rustup run nightly cargo build |
| プロジェクト別設定 | rust-toolchain.toml を作成 |
| コンポーネント追加 | rustup component add clippy |
| ツールチェーン削除 | rustup toolchain uninstall nightly |
まとめ
Rustのバージョン管理はrustup1つで完結します。
- 日常的な更新は
rustup updateだけでOK - プロジェクト別のバージョン固定は
rust-toolchain.tomlで管理 - nightlyが必要な場合は
rustup install nightly→rustup default nightlyまたはrust-toolchain.tomlで指定