インストールコマンドを打ち込んで準備万端だと思いましたか?現実はそう甘くはありません
Fedoraに乗り換えたばかりの多くの開発者は、必要なものがあれば sudo dnf install するという習慣をそのまま持ち込みがちです。手軽に sudo dnf install rust cargo と入力すれば終わり、そう思っていませんか?実際には、このやり方は後々「行き止まり」に突き当たることがよくあります。
VS Codeを立ち上げ、Rust拡張機能をインストールして魔法を期待するでしょう。しかし、スムーズなコード補完の代わりに、至る所に赤いエラーが表示されます。rust-src が足りない、rust-analyzer がライブラリを認識できない、あるいは最悪の場合、プロジェクトが先週リリースされたばかりの最新のRustバージョンを要求しているためにコンパイルできない、といった具合です。FedoraのリポジトリにあるRustは更新が速い方ですが、それでも公式リリースより1〜2週間遅れることが一般的です。
私は過去2年間、Fedoraをメインのマシンとして使用してきました。DNF経由でRustをインストールする最大の欠点は、言語のエコシステムを自らコントロールする代わりに、オペレーティングシステムのパッケージマネージャーに自分を縛り付けてしまうことです。
なぜDNF経由のRustインストールが開発者にとって「後退」なのか?
核心はスピードにあります。Rustは6週間(ちょうど42日)ごとに新しいStable(安定版)がリリースされます。Fedoraはシステム全体の安定性を優先しますが、開発者はパフォーマンスを最適化するために最新の機能を必要とします。
「DNFを使用した場合」に遭遇する3つの厄介なポイントは以下の通りです:
- ツールチェーンの固定: プロジェクトAがRust 1.75を必要とし、プロジェクトBが新しい機能を試すためにNightly版を要求している場合、DNFでは完全にお手上げ状態になります。
- 「クリーン」なツールセットの不足: 20以上の一般的なロジックエラーを検出してくれる
clippyやrustfmtなどのツールが付属していなかったり、バラバラにインストールするとIDEとの同期が難しかったりします。 - 権限の競合: DNF経由のインストールにはroot権限が必要です。Rustは、Rustに依存しているFedoraのシステムスクリプトを壊さないよう、ユーザー空間(ホームディレクトリ)へのインストールを推奨しています。
3つのセットアップ方法:スピード重視か、標準重視か?
通常、開発者はこれら3つの道のいずれかを通ります:
- DNFを使う: いくつかの基本的なスクリプトを試すのには向いていますが、実際のプロジェクト開発用ではありません。
- バイナリを手動でダウンロードする: これは時間の無駄です。更新のたびに再ダウンロードし、PATHを最初から設定し直さなければなりません。
- Rustupを使用する: これがコミュニティのゴールドスタンダード(標準)です。バージョン、追加コンポーネントからツールチェーンの切り替えまで、すべてをコマンド一行で管理できます。
標準的な手順:Fedora 40/41向けのRustup + VS Codeコンボ
スムーズなコーディング環境を手に入れるために、私が念入りにテストした以下の手順に従ってください。セットアップにかかる時間は、ネット環境にもよりますが、わずか5〜10分程度です。
ステップ1:基盤となる依存関係のインストール
Rustが動作するには、リンカーとCコンパイラが必要です。Fedoraでは、個別にインストールするのではなく、以下のコマンドで開発ツールセットをまとめてインストールしましょう:
sudo dnf groupinstall "Development Tools"
sudo dnf install openssl-devel gcc-c++
注意:openssl-devel は、Actix-webやRocketを使ってWebバックエンドを開発する場合に必須です。これを忘れると、最初のビルドで「OpenSSL not found」というエラーに直面することになります。
ステップ2:公式マネージャーRustupのインストール
ターミナルを開き、以下の魔法のコマンドを貼り付けてください:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
メニューが表示されたら、1 を押してEnterを叩きます。スクリプトが自動的に ~/.rustup と ~/.cargo ディレクトリを作成します。すべてが個人のディレクトリ内に収まるため、非常に安全です。
ステップ3:環境変数の有効化
マシンを再起動する代わりに、現在のシェルに新しい設定を読み込ませるだけで済みます:
source $HOME/.cargo/env
rustc --version を入力して確認してください。バージョン(例:1.78.0)が表示されれば、半分は成功です。
ステップ4:IDEのための「究極の武器」を装備する
コンパイラをインストールしただけで満足しないでください。コーディングを2倍速くするための3つの補助ツールを追加しましょう:
rustup component add rust-analyzer rust-src rustfmt clippy
この中で、rust-analyzer はVS CodeがRustの複雑なコード構造を理解するために最も重要なコンポーネントです。
ステップ5:VS CodeをプロフェッショナルなRust IDEに変える
VS Codeを開き、以下の3つの拡張機能を正しくインストールしてください(余計なものは入れないようにしましょう):
- rust-analyzer: 必ずrust-lang公式のものを選んでください。古い「Rust」という名前の拡張機能は避けてください。
- CodeLLDB: デバッグに必須のツールです。WindowsのVisual Studioを使っているかのように、ブレークポイントを設定して変数の値を調査できます。
- Even Better TOML:
Cargo.tomlファイル内でのライブラリバージョンの補完を助けてくれます。新しい依存関係を追加する際に非常に便利です。
ステップ6:成果の確認
ツールチェーンが同期されているか確認するために、新しいプロジェクトを作成してみましょう:
cargo new hello-fedora && cd hello-fedora && code .
rust-analyzer のロードが終わるまで5秒ほど待ちます。セミコロンを削除したり、変数名をわざと間違えてみてください。VS Codeが詳細な説明とともに即座に赤いエラーを表示すれば、あなたの環境はプロフェッショナルな基準に達しています。
FedoraでRustを使う際の実体験に基づくアドバイス
長期間使用してきた中で、いくつかのアドバイスがあります:
- 定期的なアップデート: 月に一度は
rustup updateを実行してください。Rust의 進化は非常に速いため、取り残されないようにしましょう。 - RAMが決定的な要因: 大きなプロジェクトをビルドする際、Rustは多くのRAMを消費します。コンパイル中にFedoraがフリーズしないよう、少なくとも16GBのRAMを搭載することをお勧めします。
- Fedoraカーネルの活用: Fedoraは常に最新のカーネルを使用しているため、Cargoのファイル読み書き速度は古いカーネルを使用しているディストリビューションよりも大幅に高速です。
最初から正しくセットアップすることで、環境エラーの修正ではなく、本来の課題解決に完全に集中できるようになります。FedoraでのRust開発が素晴らしい体験になることを願っています!

