以前 Ruby の Windows 環境 (備忘録) - @watson1978 の日記 で Ruby を Windows でビルドできるように環境を用意したのですが Visual Studio のアップデートなどで手順に差分が生じたので、また備忘録がてら作業ログを残しておきます。
以下の記事を参考にしています。
Visual Studio
https://visualstudio.microsoft.com/ja/ から Visual Studio Community 2022 をダウンロード。
個別のコンポーネントで以下のものをインストール。(これが最小限のコンポーネントなのかは不明)
- C++ コア機能
- Windows ユニバーサル CRT
- MSVC v143 - VS 2022 c++ x64/x86 ビルドツール (最新)
- Windows 用 C++ CMake ツール
- v143 ビルドツール用 C++ Clang-cl (x64/x86)
- Windows 10 SDK (10.0.20348.0)
- Windows Universal CRT SDK
言語パックのタブで英語環境を入れておく
- 英語
vcpkg でライブラリをインストール
vcpkg --triplet x64-windows install libffi libiconv libxml2 libxslt libyaml openssl-windows readline
openssl
の代わりに openssl-windows
をインストールした。openssl
を指定すると v3.0.5 がインストールされる。openssl-windows
だと v1.1.1h と古い openssl がインストールされる。古い Ruby は openssl v3.0.5 だとビルドできなかったりするので、openssl-windows
を利用した。
※ 2024/01/28 追記 openssl-windows で v1.1.1h がインストールされなくなってます。https://github.com/microsoft/vcpkg/issues/35264 あたりの回避策で頑張ってインストールする必要があります。
bison のインストール
RubyInstaller の pacman を利用した。
pacman -S bison
環境変数の設定
参考にした記事に沿って環境変数を設定したくらい。
Ruby をビルド
Visual Studio をインストールしたときに x64 Native Tools Command Prompt for VS 2022
というコマンドプロンプトがメニューに作成されているので、それを起動するとコンパイラの設定などがいい感じに行われている。
Ruby のソースコードを展開したルートディレクトリで以下のコマンドを実行する。
win32\configure.bat --with-opt-dir=/vcpkg/installed/x64-windows nmake install