Ce projet fournit un programme d'installation pour Ruby-2.4 et versions ultérieures sur Windows basé sur la chaîne d'outils MSYS2. Il s'agit du successeur de RubyInstaller basé sur MSYS1 qui était utilisé pour Ruby-2.3 et versions antérieures. Il est sous licence BSD modifiée à 3 clauses.
Contrairement à l'ancien RubyInstaller, il ne fournit pas son propre DevKit, mais utilise le riche ensemble de bibliothèques MINGW du projet MSYS2. Il s'intègre donc bien dans MSYS2 après l'installation sur le système cible pour fournir un environnement de construction et d'exécution pour l'installation de gems avec des extensions C. Ces changements et d'autres sont documentés dans le CHANGELOG.
Le fichier d'installation non-Devkit est suffisant pour utiliser des gemmes Ruby pures ou de grosses gemmes binaires pour x64-mingw32 ou x86-mingw32. Afin d'installer des gemmes sources basées sur C, il est recommandé d'utiliser la version du programme d'installation de Devkit. Il installe un environnement de construction MSYS2/MINGW dans le répertoire Ruby qui contient les outils et bibliothèques de construction courants.
Certaines gemmes nécessitent des packages supplémentaires, qui peuvent être installés par pacman
. Voir ci-dessous. Il est également possible d'installer MSYS2 manuellement à partir de https://msys2.github.io/ et d'exécuter ensuite ridk install
pour ajouter des outils de développement non par défaut, mais requis. Pour une installation sans assistance de Ruby et MSYS2, consultez la FAQ sur l'installation chocolatée.
ridk
ridk
est un script cmd/powershell qui peut être utilisé pour installer des composants MSYS2, pour émettre des commandes MSYS comme pacman
ou pour définir des variables d'environnement pour utiliser les outils de développement MSYS2 à partir du shell en cours d'exécution.
Voir ridk help
pour d'autres options :
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
peut être utilisé pour activer les outils de développement MSYS2 sur la console en cours d'exécution. Cela rend sh
, pacman
, make
etc. disponibles sur la ligne de commande. Consultez le Wiki pour plus d'instructions sur la commande ridk
.
La configuration de base de MSYS2 inclut des compilateurs et d'autres outils de construction, mais n'inclut pas les bibliothèques ou les DLL dont certaines gemmes ont besoin comme dépendances. Heureusement, la plupart des bibliothèques requises sont disponibles via les référentiels MSYS2. Ils peuvent être installés par ridk exec pacman -S mingw-w64-x86_64-libraryname
similaire à apt-get
sous Linux. Échangez le préfixe mingw-w64-x86_64
par mingw-w64-i686
pour RubyInstaller 32 bits.
Par exemple, ces gemmes populaires peuvent être installées ainsi à partir de la gemme source :
sqlite3
: ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem install sqlite3 --platform ruby
nokogiri
: ridk exec pacman -S mingw-w64-x86_64-libxslt
gem install nokogiri --platform ruby -- --use-system-libraries
Certaines gemmes sont correctement étiquetées pour installer des bibliothèques dépendantes par pacman. Consultez le wiki pour savoir comment une telle étiquette peut être ajoutée aux pierres précieuses. Reportez-vous également à la FAQ pour des recommandations d'installation supplémentaires.
Ce référentiel fournit les tâches de packaging pour créer les exécutables d'installation de RubyInstaller et les fichiers 7zip. Il ne compile aucune source, mais utilise le référentiel MSYS2-MINGW et le référentiel RubyInstaller2 pacman pour télécharger les binaires et les bibliothèques dépendantes.
Le programme d'installation est régulièrement construit sur Github Actions pour chaque poussée vers le référentiel Github. Le programme d'exécution exécute également le programme d'installation et exécute tous les tests RubyInstaller et Ruby-spec, afin que nous soyons informés des modifications importantes. En plus de cela, une version quotidienne du dernier instantané de développement Ruby est compilée et conditionnée sous forme de fichiers RubyInstaller. Il peut être téléchargé à partir des versions de GitHub. Consultez le wiki pour savoir comment utiliser les versions Ruby-Head pour vos builds CI.
ridk install
avec les options par défaut 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