このプロジェクトは、MSYS2 ツールチェーンに基づいて Windows 上で Ruby-2.4 以降のインストーラーを提供します。これは、Ruby-2.3 以前で使用されていた MSYS1 ベースの RubyInstaller の後継です。 3 条項の Modified BSD License に基づいてライセンスが付与されています。
古い RubyInstaller とは対照的に、独自の DevKit は提供されませんが、MSYS2 プロジェクトの豊富な MINGW ライブラリのセットを利用します。したがって、ターゲット システムにインストールした後、MSYS2 に適切に統合され、C 拡張機能を備えた gem をインストールするためのビルドおよびランタイム環境が提供されます。この変更およびその他の変更は CHANGELOG に文書化されています。
非 Devkit インストーラー ファイルは、x64-mingw32 または x86-mingw32 の純粋な Ruby gem またはファット バイナリ gem を使用するのに十分です。 C ベースのソース gem をインストールするには、Devkit インストーラー バージョンを使用することをお勧めします。これは、共通のビルド ツールとライブラリを同梱する Ruby ディレクトリに MSYS2/MINGW ビルド環境をインストールします。
一部の gem には、 pacman
ごとにインストールできる追加のパッケージが必要です。以下を参照してください。 https://msys2.github.io/ から MSYS2 を手動でインストールし、その後ridk install
実行して、デフォルトではないが必要な開発ツールを追加することもできます。 Ruby および MSYS2 の無人インストールについては、FAQ Chocolatey install を参照してください。
ridk
コマンドridk
は、MSYS2 コンポーネントのインストール、 pacman
などの MSYS コマンドの発行、または実行中のシェルから MSYS2 開発ツールを使用するための環境変数の設定に使用できる cmd/powershell スクリプトです。
その他のオプションについては、 ridk help
参照してください。
Usage:
C:/Ruby24-x64/bin/ridk.cmd [option]
Option:
install Install MSYS2 and MINGW dev tools
exec < command > Execute a command within MSYS2 context
enable Set environment variables for MSYS2
disable Unset environment variables for MSYS2
version Print RubyInstaller and MSYS2 versions
use Switch to a different ruby version
help | --help | - ? | / ? Display this help and exit
ridk enable
使用すると、実行中のコンソールで MSYS2 開発ツールを有効にすることができます。これにより、 sh
、 pacman
、 make
などがコマンド ラインで使用できるようになります。 ridk
コマンドの詳しい手順については、Wiki を参照してください。
MSYS2 の基本セットアップにはコンパイラーやその他のビルド ツールが含まれていますが、一部の gem が依存関係として必要とするライブラリや DLL は含まれていません。幸いなことに、必要なライブラリの多くは MSYS2 リポジトリから入手できます。 Linux のapt-get
と同様にridk exec pacman -S mingw-w64-x86_64-libraryname
ごとにインストールできます。 32 ビット RubyInstaller のプレフィックスmingw-w64-x86_64
をmingw-w64-i686
に交換します。
たとえば、これらの人気のある gem は、ソース gem から次のようにインストールできます。
sqlite3
gemをインストールするには: ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem install sqlite3 --platform ruby
nokogiri
gemをインストールするには: ridk exec pacman -S mingw-w64-x86_64-libxslt
gem install nokogiri --platform ruby -- --use-system-libraries
一部の gem には、pacman ごとに依存ライブラリをインストールするように適切にラベルが付けられています。このようなラベルを宝石に追加する方法については、wiki を参照してください。追加のインストールに関する推奨事項については、FAQ も参照してください。
このリポジトリは、RubyInstaller セットアップ実行可能ファイルと 7zip ファイルを構築するためのパッケージ化タスクを提供します。ソースはコンパイルしませんが、MSYS2-MINGW リポジトリと RubyInstaller2 pacman リポジトリを利用して、バイナリと依存ライブラリをダウンロードします。
インストーラーは、Github リポジトリにプッシュされるたびに、Github Actions 上に定期的に構築されます。また、ランナーはインストーラーを実行し、すべての RubyInstaller テストと Ruby 仕様を実行するため、重大な変更について通知されます。これに加えて、最新の Ruby 開発スナップショットの毎日のビルドがコンパイルされ、RubyInstaller ファイルとしてパッケージ化されます。 github リリースからダウンロードできます。 CI ビルドで Ruby-head バージョンを使用する方法については、Wiki を確認してください。
ridk install
ごとに MSYS2 がインストールされていることを確認してください。 set PATH=%PATH% ; " c:Program Files (x86)Inno Setup 6 "
git clone https://github.com/larskanis/rubyinstaller2
cd rubyinstaller2
bundle install
rake -T
rake ri:ruby-3.0.5-x86-msvcrt:archive-7z
^ ^ ^ ^ ^- "archive-7z" => 7z archive of the rubyinstaller files
| | | | "installer-inno" => executable installer file
| | | '------- "msvcrt" => older type of C standard library
| | | "ucrt" => new type of C standard library
| | '------- "x86" => 32 bit ruby and MSYS2 version
| | "x64" => 64 bit version
| '------ "x.x.x" => ruby version to build
| "head" => latest development snapshot of ruby
'------ "ri" => RubyInstaller without Devkit
"ri-msys" => RubyInstaller with MSYS2 based Devkit
packages/ri-msys/recipes/installer-inno/rubyinstaller-devkit--.exe
packages/ri/recipes/archive-7z/rubyinstaller--.7z