WSL – Rust 開発環境をインストールする

WSL の Ubuntu で Rust の開発をするためのインストール手順メモです。

目次

動作環境

  • Windows 11
  • WSL Ubuntu-22.04

事前準備

Ubuntu パッケージのアップデート

$ sudo apt update
$ sudo apt upgrade

Rust コンパイラインストール

2通りのインストール方法がありますので、どちらか選んで実施します。

  • Ubuntu リポジトリからインストール
  • 公式手順での rustup インストール

前者はパッケージの依存関係やバージョン管理を Ubuntu の apt に一元化できるメリットがあります。
一方で、次のようなデメリットがあります。

  • インストールされる rustc のバージョンが最新ではない
  • rustup ツールチェインがインストールされない

後者の②は、上記のメリット/デメリットを逆にしたようなイメージです。

どちらが良いか悩む場合は、とりあえず①でインストールしておき、不都合がある場合は②を改めて実施するのが良いと思います。

手段①:Ubuntu リポジトリからインストール

rustc インストール

次のコマンドで rustc コンパイラをインストールします。

$ sudo apt install rust-all

コンパイラである rustc に加え、cargorustfmt などもインストールされます。

バージョン確認

$ rustc --version
rustc 1.66.1 (90743e729 2023-01-10) (built from a source tarball)

手段②:公式手順での rustup インストール

インストール

下記コマンドでインストールします。

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

インストール中に以下の選択肢を聞かれると思いますので、そのまま Enter を入力します。

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

環境変数設定

インストール後は、環境変数を有効にする必要があります。
.bashrc に自動で追加されていますので、次回ログイン以降は source の実行は不要です。

$ source "$HOME/.cargo/env"

バージョン確認

各種コマンドで正常にインストールできていることを確認します。

$ rustup --version
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.71.0 (8ede3aae2 2023-07-12)`

$ rustc --version
rustc 1.71.0 (8ede3aae2 2023-07-12)

gcc インストール

公式手順でインストールした場合は gcc が自動ではインストールされません。
インストール未済の場合は追加しましょう。

$ sudo apt install gcc

コンパイルと実行

簡単なプログラムを動作させてみます。

fn main() {
    println!("Hello World!")
}
$ rustc main.rs && ./main
Hello World!

エラーが発生する場合

下記のエラーが発生する場合は gcc が不足しています。
sudo apt install gcc で追加インストールしましょう。

error: linker `cc` not found
  |
  = note: No such file or directory (os error 2)

error: aborting due to previous error
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトは reCAPTCHA と Google によって保護されていますプライバシーポリシー利用規約 申し込み。

The reCAPTCHA verification period has expired. Please reload the page.

目次