LoginSignup
48
27

More than 3 years have passed since last update.

WSL2(Ubuntu)とVSCodeでRustの学習環境準備

Last updated at Posted at 2019-12-20

社内勉強会の備忘録を兼ねた、
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インストール

  1. インストーラーを入手する
  2. インストーラーを起動する
  3. インストーラーに従いインストールを進める
    • PATHへの追加(再起動後に使用可能)はチェックしたままにしておく
    • その他のオプションは好みで適宜設定
  4. VSCodeを起動させずにインストーラーを完了する

WSL2有効化 ※OS再起動含 1

  1. PowerShellを起動する ※管理者として実行すること
  2. 以下コマンドを実行して、「WSL」と「仮想マシン プラットフォーム」を有効化する

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. OS再起動をする

  4. https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel にアクセスする

  5. 「最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロード」を押下し、インストーラーを入手する

  6. インストーラーを起動し、インストールを完了させる

  7. PowerShellを起動する ※管理者として実行すること

  8. 以下コマンドを実行し、WSL2をデフォルトにする

    wsl --set-default-version 2
    

Ubuntuインストール

  1. Windows スタートメニューから「Microsoft Store」を起動する
  2. 右上の「検索」を押下する
  3. 検索フォームに「Ubuntu」と入力すると、「Ubuntu20.04」が候補にでてくるので押下する
  4. 「入手」を押下する
    • 「複数のデバイスで使用する Microsoftアカウントでサインインし、これを互換性のあるデバイスで使用します。」のダイアログが出る
    • 必要に応じてサインインする、私は必要ないので「必要ありません」を押下した
  5. 「起動」が出てくるまで待機する
  6. 「起動」が出てきたら「起動」を押下する
  7. ユーザー作成を求められるので、任意の名前とパスワードで作成する
  8. Ubuntuをアップグレードする https://qiita.com/masoo/items/8ebc51a6a9f32417d4a3

build-essentialインストール

Ubuntu上で以下コマンドを実行する

$ sudo apt-get update
$ sudo apt-get install build-essential

Rustインストール

  1. Ubuntu上で以下コマンドを実行する(Rust本体のインストール)

    $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  2. メニューが出てくるので、「1」を入力してEnterキーを押下する
    ※カスタムしてインストールしたい場合は「2」

    1) Proceed with installation (default)
    2) Customize installation
    3) Cancel installation
    
  3. Ubuntu上で以下コマンドを実行する(パスを通す)

    $ source $HOME/.cargo/env
    
  4. Rustのコマンドが問題なく動くかを確認する

    $ rustc --version
    rustc 1.46.0 (04488afe3 2020-08-24)
    $ cargo --version
    cargo 1.46.0 (149022b1d 2020-07-17)
    

Rustプロジェクト作成

  1. Ubuntu上で任意の場所に作業用ディレクトリを作成し、移動する
    ※以下のパスは作成したい任意の場所に読み替えること

    $ mkdir $HOME/work_evid
    $ cd $HOME/work_evid
    
  2. 任意の名前のRustプロジェクトを作成する
    ローワースネークケースにすること
    ※以下のprj_evidは自分でつけたい任意の名前に読み替えること

    $ cargo new --bin prj_evid
         Created binary (application) `prj_evid` package
    
  3. カレントディレクトリに、先程作成したプロジェクト名のディレクトリが作成されているため、移動する
    ※以下のパスは作成したディレクトリやプロジェクト名に読み替えること

    $ cd $HOME/work_evid/prj_evid
    

拡張「Remote - WSL」インストール

  1. 作成したRustプロジェクトのディレクトリ直下にいる状態で、以下コマンドを実行する
    実行後、VSCodeが起動することを確認する

    $ code .
    
  2. 右下に拡張「Remote - WSL」のインストールを推奨するポップアップがでるので、「Install」を押下する
    vscode1.png

  3. 左下に緑のボタンが出現するので押下する
    vscode2.png

  4. 上部にメニューが出現するので「Remote-WSL: Reopen Folder in WSL」を押下する
    vscode3.png

  5. Ctrl + @ でターミナルを起動し、Ubuntu上になっていることを確認する
    ※VSCodeのデフォルトのターミナルはPowerShell
    vscode4.png

拡張「Rust(rust-lang.rust)」インストール

  1. Ctrl + Shift + X を押下し、拡張を開く
  2. 「Rust(rust-lang.rust)」を検索して選択する
  3. Install on WSL: Ubuntu-20.04」を押下する
  4. 「Reload Required」を押下する
  5. main.rsを開き、「Some Rust components not installed.Install ?」のポップアップが出たら「Yes」を押下する vscode5.png
  6. もしポップアップが出ない場合、ターミナル上で以下コマンドを実行する(コンポーネントの入手)

    $ 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
    
  7. VSCodeの左下に「Rust:[作成したプロジェクト名]」が出ていることを確認する
     ※出ていない場合はVSCodeの再起動を試す
    vscode6.png

さいごに

これでVSCodeだけで完結するRust学習環境の準備が整いました!
オススメの設定などは見つけ次第、追記予定です。

(WSL1では、Ubuntu20.04だとRustが動かなかったりVSCode由来のWarningが出たりしましたが
 WSL2になったら解消したようです。)

48
27
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
48
27