WindowsでRust開発環境を構築する:WSL2とVSCodeで始めるシステムプログラミング入門

当ページのリンクには広告が含まれています。
🚀
システムプログラミングで市場価値を高めるなら

お疲れ様です!IT業界で働くアライグマです!

「WindowsでRust環境を構築しようとしたけど、MSVCのエラーが解消できない」「opensslのビルドで詰まって半日溶かした」——そんな経験がある方も多いのではないでしょうか。Rustはメモリ安全性と高パフォーマンスを両立するシステムプログラミング言語として注目を集めていますが、Windows環境でのセットアップに苦労するエンジニアも多いのが実情です。

本記事では、WSL2(Windows Subsystem for Linux 2)とVSCodeを組み合わせて、WindowsでもLinuxネイティブに近い快適なRust開発環境を構築する方法を解説します。実際のプロジェクトで遭遇した問題と解決策も含めて、すぐに使える環境を整えましょう。

目次

RustとWSL2の組み合わせが最適解な理由

💡 Rustスキルを評価する企業への転職なら
システムプログラミング経験を活かせる自社開発企業への転職をサポートします

RustはMozillaが開発したシステムプログラミング言語で、C/C++に匹敵するパフォーマンスとメモリ安全性を両立しています。詳しくはRust+WebAssemblyでライフゲームを実装するガイドも参考にしてください。

Windows開発環境の選択肢

Windows上でRustを開発する方法は主に3つあります。

  • MSVC(Visual Studioツールチェイン):Windows純正だが設定が複雑でビルドサイズが大きい
  • GNU(MinGW/MSYS2):Unixライクだがパス変換でトラブルが起きやすい
  • WSL2:Linux環境をそのまま使えるため最も安定

WSL2を選ぶ理由

  • パフォーマンス:WSL1と比較してI/O性能が大幅改善
  • 互換性:Linuxネイティブのクレートがそのまま動作
  • Docker連携:Docker Desktopとシームレスに統合
  • 開発ツール:VSCode Remote WSL拡張で快適に編集

IT女子 アラ美
MSVCとWSL2、どちらが良いですか?

ITアライグマ
クロスプラットフォーム開発ならWSL2が圧倒的におすすめです。多くのクレートがLinux前提で開発されています。

WSL2のインストールと初期設定

WindowsでWSL2を有効化し、Ubuntuをセットアップする手順を解説します。詳しくはGitHub ActionsのSecretsセキュリティガイドも参考にしてください。

WSL2の有効化

管理者権限でPowerShellを開き、以下のコマンドを実行します。

# WSL2を有効化(再起動が必要な場合あり)
wsl --install

# インストール済みの場合は既定のバージョンを2に設定
wsl --set-default-version 2

# Ubuntuをインストール
wsl --install -d Ubuntu

Ubuntuの初期設定

Ubuntu初回起動時にユーザー名とパスワードを設定したら、パッケージを更新します。

# パッケージリストの更新
sudo apt update && sudo apt upgrade -y

# 必要な開発ツールをインストール
sudo apt install -y build-essential pkg-config libssl-dev curl git
プログラミング言語別ビルド時間
図:プログラミング言語別ビルド時間の比較

IT女子 アラ美
WSL1から2にアップグレードする方法はありますか?

ITアライグマ
wsl --set-version Ubuntu 2で既存のディストリビューションを変換できます。

Rustupによるツールチェインのインストール

Rust公式のツールチェインマネージャー「rustup」を使ってインストールします。詳しくはFormaeでIaCを始めるガイドも参考にしてください。

rustupのインストール

# rustupのインストール(対話式)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# デフォルト設定でインストールする場合
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

# 環境変数の読み込み
source $HOME/.cargo/env

インストールの確認

# Rustのバージョン確認
rustc --version
# 出力例: rustc 1.84.0 (12a79e66a 2024-05-14)

# Cargoのバージョン確認
cargo --version
# 出力例: cargo 1.84.0 (d2e134c1e 2024-05-14)

# ツールチェインの一覧
rustup show

追加コンポーネントのインストール

開発効率を上げるために、以下のコンポーネントを追加します。

# rust-analyzerのインストール(VSCode連携用)
rustup component add rust-analyzer

# フォーマッターとリンター
rustup component add rustfmt clippy

# ドキュメント生成ツール
rustup component add rust-docs

IT女子 アラ美
ツールチェインを複数バージョン使い分けることはできますか?

ITアライグマ
rustup default nightlyでnightly版に切り替えたり、プロジェクトごとにrust-toolchain.tomlで指定できます。

VSCodeとRemote WSL拡張の設定

WindowsのVSCodeからWSL2内のRustプロジェクトを編集する環境を整えます。詳しくはClaude Codeのカスタム命令ガイドも参考にしてください。

必要な拡張機能

Windows側のVSCodeに以下の拡張機能をインストールします。

  1. Remote – WSL(必須):WSL2内のファイルシステムにアクセス
  2. rust-analyzer(必須):Rust言語サポート。NOTE:WSL2接続後に再度インストールが必要
  3. Error Lens(推奨):エラーをインラインで表示
  4. Even Better TOML(推奨):Cargo.tomlのハイライト

WSL2への接続

  1. VSCodeで Ctrl+Shift+P を押してコマンドパレットを開く
  2. WSL: Connect to WSL を選択
  3. ウィンドウ左下に「WSL: Ubuntu」と表示されれば接続成功

rust-analyzerの設定

WSL2側でrust-analyzerを正しく動作させるため、VSCode設定を追加します。

// .vscode/settings.json
{
  "rust-analyzer.cargo.target": null,
  "rust-analyzer.checkOnSave.command": "clippy",
  "rust-analyzer.inlayHints.chainingHints.enable": true,
  "rust-analyzer.inlayHints.typeHints.enable": true
}

IT女子 アラ美
WindowsのVSCodeとWSL2のrust-analyzerが両方動いて競合しませんか?

ITアライグマ
WSL接続中はWSL側のrust-analyzerだけが動作します。Windows側の設定は自動的に無効化されます。

ケーススタディ:最初のRustプロジェクト作成

📚
システムプログラミング経験を評価する転職なら
Rust/Go/C++などのシステムプログラミング経験を活かせる求人を多数保有しています

実際にWSL2上でRustプロジェクトを作成し、VSCodeで開発するまでの手順を解説します。詳しくはDockhandでのDocker管理ガイドも参考にしてください。

状況(Before)

  • 開発者:経験3年、Windows 11環境でRustを始めたいWebエンジニア
  • 試行回数:MSVCで3回、MinGWで2回セットアップを試みたが失敗
  • 課題openssl-sysクレートのビルドエラーが頻発(error: failed to run custom build command)
  • 状態:エラー解消に累計8時間以上かかり、開発が進まない
  • 依存クレート数:reqwest・sqlxなど12クレートがopensslを要求

行動(Action)

WSL2環境を構築し、以下の手順でプロジェクトを作成しました。

# プロジェクト作成
cd ~ && mkdir projects && cd projects
cargo new hello_rust
cd hello_rust

# VSCodeで開く(Windows側から自動でWSL接続)
code .

結果(After)

  • ビルドエラー:openssl関連のエラーが完全解消
  • セットアップ時間:半日 → 30分に短縮
  • 開発体験:rust-analyzerの補完が正常動作
  • Docker連携:Docker Desktop WSL2バックエンドで問題なし

IT女子 アラ美
WSL2に移行してからビルドエラーは完全になくなりましたか?

ITアライグマ
openssl関連は完全に解消しました。Linuxネイティブ環境なので、READMEの手順がそのまま動きます。

次のステップに進むために

WSL2でRust環境を構築できたら、次は実践的なプロジェクトに取り組んでみましょう。詳しくはadversarial-specで仕様策定を自動化するガイドも参考にしてください。

本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。

比較項目 DMM 生成AI CAMP Aidemy Premium
目的・ゴール ビジネス活用・効率化非エンジニア向け エンジニア転身・E資格Python/AI開発
難易度 初心者◎プロンプト作成中心 中級者〜コード記述あり
補助金・給付金 最大70%還元リスキリング補助金対象 最大70%還元教育訓練給付金対象
おすすめ度 S今の仕事に活かすなら AAIエンジニアになるなら
公式サイト 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・AIを活用したいならDMM 生成AI CAMPがおすすめです!プロンプト中心で初心者でも取り組みやすいですよ。

まとめ

WindowsでRust開発環境を構築する方法について解説しました。

  • WSL2が最適解:Linux互換環境で多くのクレートが問題なく動作
  • セットアップ:WSL2 + rustup + VSCode Remote WSLの組み合わせ
  • 開発効率:rust-analyzer + clippyで品質と効率を両立
  • 注意点:WSL2側でrust-analyzerを再インストールする必要あり
  • ハマりポイント:openssl等のシステムライブラリはUbuntu側で事前インストール

RustはWebAssembly、組み込み、CLIツールなど様々な分野で活用されています。まずはWSL2環境を整えて、Rustの世界に飛び込んでみてください。

IT女子 アラ美
Rustを学ぶのにおすすめの教材はありますか?

ITアライグマ
公式の「The Rust Programming Language(通称TRPL)」が無料で読めます。環境構築が終わったらぜひ挑戦してみてください。

厳しめIT女子 アラ美による解説ショート動画はこちら

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次