Wingetを利用してWindows11にRust/Rustupを導入する

当サイトではアフィリエイト広告を利用しています

Microsoft純正のパッケージマネージャーであるwingetを使ってRust/Rustupの環境を導入してみました。

ビルドツール周りで少し注意点があったので記録しておきます。

Wingetについて

WingetはWindows10, 11で利用可能なMicrosoft純正のパッケージマネージャーです。

他にもscoopやchocolatoryなどのパッケージマネージャーはありますが、Microsoft純正ということで利用が手軽に思えます。

普段はscoopを利用していましたが、今回は乗換調査もかねてwingetを使ってみます。

利用したwingetのバージョンはv1.4.10173でした。

Rustの導入

Rustの導入にはwingetでRustupを導入すると同時に、一部CrateのビルドにVisualStudioもしくはGNU系のビルドツールが必要となります。

wingetで導入する場合はデフォルトがVisual Studio系ということもあり、今回はVisual Studio 2022のビルドツールを利用します。

以下のコマンドで必要なソフトウェアの導入が行えます。

winget install Rustlang.Rustup
winget install Microsoft.VisualStudio.2022.BuildTools

上記で導入したRustupはdefault-host i686-pc-windows-msvcがデフォルトとして設定されるようです。

しかし、上記の作業だけでは利用するCrate次第で以下のようにビルドエラーが生じます。

別途ビルドツールの設定が必要です。

error: linker `link.exe` not found
  |
  = note: program not found

note: the msvc targets depend on the msvc linker but `link.exe` was not found

note: please ensure that Visual Studio 2017 or later, or Build Tools for Visual Studio were installed with the Visual C++ option.

note: VS Code is a different product, and is not sufficient.

VisualStudio.2022.BuildToolsの設定

wingetでのインストール後、すべてのプログラムからVisual Studio Installerを開き、「C++によるデスクトップ開発」をインストールしてC++周りのツール群をインストールする必要があります。

これによりmsvc, linkなどのビルド関連ツールが導入されます。(約6.8GB)

この後、OSの再起動を行ってcargo buildがエラーなく通るようになりました。

まとめ

  • Windows11でのRust環境構築にwingetを利用した
  • Rustup/VisualStudioBuildTool2022をwingetでインストール
  • ビルドツールではインストーラーからC++系ツールをインストールする必要がある