社内勉強会の備忘録を兼ねた、
Windowsマシンで、WSL2(Ubuntu)、Visual Studio Code(以降VSCode)を用いて
Rustを学習したい場合の環境構築手順です。
元々はWSL1+Ubuntu18.04の手順でしたが、
WSL2+Ubuntu20.04の手順に修正しました。(2020/9/11)
対象読者
- Windowsマシンをお使いの方
- WSL2でLinux(Ubuntu)を使いつつ、VSCodeを使いつつ、Rustを学習したい方
今回使うもの
- Windows10 Pro 64bit(バージョン2004)
- Windows Subsystem for Linux 2
- Ubuntu 20.04
- Visual Studio Code 1.49.0
- Remote - WSL
- Rust(rust-lang.rust)
- Rust 1.46.0
構築手順
VSCodeインストール
- インストーラーを入手する
- https://code.visualstudio.com/download
- 私はWindows User Installer 64 bitを選択
- インストーラーを起動する
- インストーラーに従いインストールを進める
- PATHへの追加(再起動後に使用可能)はチェックしたままにしておく
- その他のオプションは好みで適宜設定
- VSCodeを起動させずにインストーラーを完了する
WSL2有効化 ※OS再起動含 1
- PowerShellを起動する ※管理者として実行すること
-
以下コマンドを実行して、「WSL」と「仮想マシン プラットフォーム」を有効化する
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
OS再起動をする
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel にアクセスする
「最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロード」を押下し、インストーラーを入手する
インストーラーを起動し、インストールを完了させる
PowerShellを起動する ※管理者として実行すること
-
以下コマンドを実行し、WSL2をデフォルトにする
wsl --set-default-version 2
Ubuntuインストール
- Windows スタートメニューから「Microsoft Store」を起動する
- 右上の「検索」を押下する
- 検索フォームに「Ubuntu」と入力すると、「Ubuntu20.04」が候補にでてくるので押下する
- 「入手」を押下する
- 「複数のデバイスで使用する Microsoftアカウントでサインインし、これを互換性のあるデバイスで使用します。」のダイアログが出る
- 必要に応じてサインインする、私は必要ないので「必要ありません」を押下した
- 「起動」が出てくるまで待機する
- 「起動」が出てきたら「起動」を押下する
- ユーザー作成を求められるので、任意の名前とパスワードで作成する
- Ubuntuをアップグレードする https://qiita.com/masoo/items/8ebc51a6a9f32417d4a3
build-essentialインストール
Ubuntu上で以下コマンドを実行する
$ sudo apt-get update
$ sudo apt-get install build-essential
Rustインストール
-
Ubuntu上で以下コマンドを実行する(Rust本体のインストール)
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
メニューが出てくるので、「1」を入力してEnterキーを押下する
※カスタムしてインストールしたい場合は「2」1) Proceed with installation (default) 2) Customize installation 3) Cancel installation
-
Ubuntu上で以下コマンドを実行する(パスを通す)
$ source $HOME/.cargo/env
-
Rustのコマンドが問題なく動くかを確認する
$ rustc --version rustc 1.46.0 (04488afe3 2020-08-24) $ cargo --version cargo 1.46.0 (149022b1d 2020-07-17)
Rustプロジェクト作成
-
Ubuntu上で任意の場所に作業用ディレクトリを作成し、移動する
※以下のパスは作成したい任意の場所に読み替えること$ mkdir $HOME/work_evid $ cd $HOME/work_evid
-
任意の名前のRustプロジェクトを作成する
※ローワースネークケースにすること
※以下のprj_evidは自分でつけたい任意の名前に読み替えること$ cargo new --bin prj_evid Created binary (application) `prj_evid` package
-
カレントディレクトリに、先程作成したプロジェクト名のディレクトリが作成されているため、移動する
※以下のパスは作成したディレクトリやプロジェクト名に読み替えること$ cd $HOME/work_evid/prj_evid
拡張「Remote - WSL」インストール
-
作成したRustプロジェクトのディレクトリ直下にいる状態で、以下コマンドを実行する
実行後、VSCodeが起動することを確認する$ code .
Ctrl + @ でターミナルを起動し、Ubuntu上になっていることを確認する
※VSCodeのデフォルトのターミナルはPowerShell
拡張「Rust(rust-lang.rust)」インストール
- Ctrl + Shift + X を押下し、拡張を開く
- 「Rust(rust-lang.rust)」を検索して選択する
- 「Install on WSL: Ubuntu-20.04」を押下する
- 「Reload Required」を押下する
- main.rsを開き、「Some Rust components not installed.Install ?」のポップアップが出たら「Yes」を押下する
-
もしポップアップが出ない場合、ターミナル上で以下コマンドを実行する(コンポーネントの入手)
$ rustup component add rust-analysis --toolchain stable-x86_64-unknown-linux-gnu $ rustup component add rust-src --toolchain stable-x86_64-unknown-linux-gnu $ rustup component add rls --toolchain stable-x86_64-unknown-linux-gnu
VSCodeの左下に「Rust:[作成したプロジェクト名]」が出ていることを確認する
※出ていない場合はVSCodeの再起動を試す
さいごに
これでVSCodeだけで完結するRust学習環境の準備が整いました!
オススメの設定などは見つけ次第、追記予定です。
(WSL1では、Ubuntu20.04だとRustが動かなかったりVSCode由来のWarningが出たりしましたが
WSL2になったら解消したようです。)