Rustrover on Windows without MSVC
概要
Windows上で、JetBrains社のRustRoverの開発環境を構築します。
なお、MSVCではなくGNU-Cを使用します。
準備
おしながき
- WindowsへのRust環境構築
- RustRover環境構築
- cargo-generateインストール
環境一覧
今回環境構築する主なソフトウェアの執筆時のバージョンの一覧です。
バージョンの違いにより動作が異なる場合がありますので、その場合は頑張ってください。
名前 | リビジョン | 確認方法 |
---|---|---|
Windows 11 | 22H2 | 設定アプリ → システム → バージョン情報 |
RustRover | EAP (2023/11/25build) | ヘルプ → バージョン情報 |
Chocolatey | 2.2.2 | > choco --version |
Rustup | 1.26.0 | > rustup --version |
cargo-generate | 0.18.5 | > cargo-generate -V |
WindowsへのRust環境構築
Chocolatey
Windows用パッケージマネージャとしてChocolateyをインストールします。
公式ページのインストール方法にしたがってインストールします。
PowerShellを管理者モードで起動し、以下のコマンドを実行します。
> Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
インストールが完了したら、いったん、PowerShell(管理者モード)を閉じます。
Rust toolchain installerのインストール
Rustのtoolchain installerであるrustupをインストールします。ここではchocolateyを使用して、インストールすることにします。
PowerShellを管理者モードで起動し、以下のコマンドを実行します。
> choco install rustup.install
インストールが完了したら、いったん、PowerShell(管理者モード)を閉じます。
Rustupの実行
PowerShellを管理者モードで起動し、以下のコマンドを実行します。
> rustup toolchain install stable-gnu
> rustup default stable-gnu
> rustup set default-host x86_64-pc-windows-gnu
> rustup toolchain uninstall stable-msvc
> rustup component add rust-src
> rustup component add rust-analyzer
> rustup component add llvm-tools
> rustup component add rls
GNU版のtoolchainをインストールし、Windows環境をデフォルトにします。また、MSVC版のtoolchainは不要なので削除しています。
そして、その他必要なコンポーネントをインストールしています。
おまけ(git)
Chocolateyを使って、Windows用のgitコマンドをインストールできます。
> choco install git -y
RustRover環境構築
RustRoverをインストールします。インストールは、JetBrains Toolbox経由で行うことにします。
インストール
まず、JetBrains Toolboxをインストールします。
インストール後、JetBrains Toolboxを起動し、"入手可能"プルダウンメニューから、RustRoverを選び、インストールします。
起動
JetBrains ToolboxからRustRoverを起動します。初回起動時にUSER AGREEMENTが表示されますので、"Continue"をクリックします。
設定
RustRoverの設定を行います。起動後、カスタマイズのすべての設定から、以下の設定を行います。
- ビルド、実行、デプロイ
- デバッガー
- Rust デバッガー : GDB
- デバッガー
- 言語 & フレームワーク
- Rust
- 外部リンター
- 外部ツール: Clippy
- 外部リンター
- Rust
チェックツールをCargo CheckからClippyに変更しています(お好みで)。
また、toolchainにgnuを使用しているので、RustデバッガーをLLDBからGDBに変更します。
その他、お好みでJapanese Language Packプラグインを追加するなどしてください。
確認
新規プロジェクトを作成し、実行、ブレークポイントを使ったデバグ実行ができればokです。
cargo-generateインストール
Rustプロジェクトをテンプレートから初期化するcargo-generateツールをインストールします。
msys2インストール
PowerShellを管理者モードで起動し、以下のコマンドを実行します。
> choco install msys2
インストールが完了したら、いったん、PowerShell(管理者モード)を閉じます。
MinGW-w64
MinGW-w64用ツールをインストールします。
まず、コントロールパネルの"システム環境変数の編集"を開き、"環境変数..."ボタンをクリックし、環境変数ダイアログを表示します。
そして、システム環境変数に、"MSYSTEM"="MINGW64"を追加します。
同じ、ユーザー環境変数の"Path"に以下の二つのパスを追加します。
- C:\tools\msys64\mingw64\bin
- C:\tools\msys64\usr\bin
続いて、PowerShellを起動し、以下のコマンドでmingw64コンソールを起動します。
> mingw64
Pacmanパッケージマネージャを使って、MinGW64用開発ツールをインストールします。
$ pacman -S mingw-w64-x86_64-gcc
いったん、mingw64コンソールとPowerShellを閉じます。
cargo-generateインストール
PowerShellを起動し、以下のコマンドでcargo-generateをインストールします。
> cargo install cargo-generate
おまけ
リアルタイム保護が検出されたって?
Microsoft Defenderなどのリアルタイム保護が有効になっていると、ビルド速度が低下するので除外リストに追加した方が良いですよ? 的なメッセージが出ることがあります。
自動でやってもらっても良いのですが、公式手順にしたがって、手動で設定してみます。
- スタートメニューから"Windows セキュリティ"を検索し、選択する
- "ウイルスと脅威の防止"を選択する
- "ウイルスと脅威の防止の設定"項目の"設定の管理"を選択する
- 一番下の方にある"除外"項目の"除外の追加または削除"を選択する。このとき、管理者権限が要求されます
- 以下のディレクトリを除外に追加します (プロジェクトを既定の場所(%USERPROFILE%\RustroverProjects)以外に置く場合は、そのディレクトリに置き換えてください)
- %APPDATA%\JetBrains
- %LOCALAPPDATA%\JetBrains
- %USERPROFILE%\RustroverProjects
- %USERPROFILE%.gradle
もちろん、所属する組織のセキュリティポリシー等に従って、だめなら諦めるか戦ってください。
Discussion