Rustのバージョン管理:rustupの使い方

スポンサーリンク

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 nightlyrustup default nightly または rust-toolchain.toml で指定