Dieses Projekt stellt einen Installer für Ruby-2.4 und neuer unter Windows bereit, der auf der MSYS2-Toolchain basiert. Es ist der Nachfolger des MSYS1-basierten RubyInstaller, der für Ruby-2.3 und älter verwendet wurde. Es ist unter der 3-Klausel-modifizierten BSD-Lizenz lizenziert.
Im Gegensatz zum alten RubyInstaller stellt er kein eigenes DevKit zur Verfügung, sondern nutzt den umfangreichen Satz an MINGW-Bibliotheken aus dem MSYS2-Projekt. Daher lässt es sich nach der Installation auf dem Zielsystem gut in MSYS2 integrieren und bietet eine Build- und Laufzeitumgebung für die Installation von Gems mit C-Erweiterungen. Diese und weitere Änderungen sind im CHANGELOG dokumentiert.
Die Nicht-Devkit-Installationsdatei reicht aus, um reine Ruby-Gems oder fette Binär-Gems für x64-mingw32 oder x86-mingw32 zu verwenden. Um C-basierte Quell-Gems zu installieren, wird empfohlen, die Devkit-Installationsversion zu verwenden. Es installiert eine MSYS2/MINGW-Build-Umgebung im Ruby-Verzeichnis, die gängige Build-Tools und Bibliotheken bereitstellt.
Einige Gems erfordern zusätzliche Pakete, die per pacman
installiert werden können. Siehe unten. Es ist auch möglich, MSYS2 manuell von https://msys2.github.io/ zu installieren und anschließend ridk install
auszuführen, um nicht standardmäßige, aber erforderliche Entwicklungstools hinzuzufügen. Informationen zur unbeaufsichtigten Installation von Ruby und MSYS2 finden Sie in der FAQ Chocolatey Install.
ridk
-Befehl ridk
ist ein cmd/powershell-Skript, das zum Installieren von MSYS2-Komponenten, zum Ausgeben von MSYS-Befehlen wie pacman
oder zum Festlegen von Umgebungsvariablen für die Verwendung von MSYS2-Entwicklungstools aus der laufenden Shell verwendet werden kann.
Weitere Optionen finden Sie in 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
Mit ridk enable
können MSYS2-Entwicklungstools auf der laufenden Konsole aktiviert werden. Dadurch werden sh
, pacman
, make
usw. auf der Befehlszeile verfügbar. Weitere Anweisungen zum ridk
-Befehl finden Sie im Wiki.
Das Basis-MSYS2-Setup umfasst Compiler und andere Build-Tools, jedoch keine Bibliotheken oder DLLs, die einige Gems als Abhängigkeiten benötigen. Glücklicherweise sind viele der erforderlichen Bibliotheken über die MSYS2-Repositorys verfügbar. Sie können per ridk exec pacman -S mingw-w64-x86_64-libraryname
ähnlich wie apt-get
unter Linux installiert werden. Tauschen Sie das Präfix mingw-w64-x86_64
durch mingw-w64-i686
für den 32-Bit-RubyInstaller aus.
Diese beliebten Gems können beispielsweise wie folgt vom Quell-Gem installiert werden:
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
Einige Gems sind ordnungsgemäß beschriftet, um abhängige Bibliotheken per Pacman zu installieren. Sehen Sie im Wiki, wie ein solches Etikett zu Edelsteinen hinzugefügt werden kann. Weitere Installationsempfehlungen finden Sie auch in den FAQ.
Dieses Repository stellt die Paketierungsaufgaben zum Erstellen ausführbarer RubyInstaller-Setupdateien und 7zip-Dateien bereit. Es kompiliert keine Quellen, sondern nutzt das MSYS2-MINGW-Repository und das RubyInstaller2-Pacman-Repository, um Binärdateien und abhängige Bibliotheken herunterzuladen.
Das Installationsprogramm erstellt regelmäßig Github-Aktionen für jeden Push in das Github-Repository. Der Runner führt auch den Installer aus und führt alle RubyInstaller-Tests und Ruby-Spec darauf aus, sodass wir über wichtige Änderungen benachrichtigt werden. Darüber hinaus wird täglich ein Build des neuesten Ruby-Entwicklungs-Snapshots kompiliert und als RubyInstaller-Dateien gepackt. Es kann von Github Releases heruntergeladen werden. Sehen Sie im Wiki nach, wie Sie Ruby-Head-Versionen für Ihre CI-Builds verwenden.
ridk install
mit Standardoptionen installiert haben 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