يوفر هذا المشروع أداة تثبيت لـ Ruby-2.4 والإصدارات الأحدث على نظام Windows بناءً على سلسلة أدوات MSYS2. إنه خليفة RubyInstaller المستند إلى MSYS1 والذي تم استخدامه لـ Ruby-2.3 والإصدارات الأقدم. إنه مرخص بموجب ترخيص BSD المعدل المكون من 3 فقرات.
وعلى النقيض من برنامج RubyInstaller القديم، فهو لا يوفر DevKit الخاص به، ولكنه يستخدم المجموعة الغنية من مكتبات MINGW من مشروع MSYS2. ولذلك فهو يتكامل بشكل جيد مع MSYS2 بعد التثبيت على النظام المستهدف لتوفير بيئة البناء والتشغيل لتثبيت الأحجار الكريمة بامتدادات C. تم توثيق هذه التغييرات والمزيد في سجل التغيير.
يعد ملف التثبيت غير التابع لـ Devkit كافيًا لاستخدام جواهر روبي النقية أو الجواهر الثنائية السميكة لـ x64-mingw32 أو x86-mingw32. لتثبيت الأحجار الكريمة المصدر المستندة إلى لغة C، يوصى باستخدام إصدار مثبت Devkit. يقوم بتثبيت بيئة بناء MSYS2/MINGW في دليل روبي الذي يشحن أدوات البناء والمكتبات الشائعة.
تتطلب بعض الأحجار الكريمة حزمًا إضافية يمكن تثبيتها لكل pacman
. انظر أدناه. من الممكن أيضًا تثبيت MSYS2 يدويًا من https://msys2.github.io/ وتشغيل ridk install
بعد ذلك لإضافة أدوات تطوير غير افتراضية ولكنها مطلوبة. بالنسبة للتثبيت غير المراقب لـ Ruby وMSYS2، راجع الأسئلة الشائعة حول تثبيت Chocolatey.
ridk
ridk
هو برنامج نصي cmd/powershell يمكن استخدامه لتثبيت مكونات MSYS2، لإصدار أوامر MSYS مثل pacman
أو لتعيين متغيرات البيئة لاستخدام أدوات تطوير MSYS2 من Shell قيد التشغيل.
راجع 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
وما إلى ذلك متاحًا في سطر الأوامر. راجع Wiki للحصول على مزيد من الإرشادات حول أمر ridk
.
يتضمن إعداد MSYS2 الأساسي المترجمين وأدوات البناء الأخرى، لكنه لا يتضمن المكتبات أو ملفات DLL التي تتطلبها بعض الأحجار الكريمة كتبعيات لها. لحسن الحظ أن العديد من المكتبات المطلوبة متاحة من خلال مستودعات MSYS2. يمكن تثبيتها بواسطة ridk exec pacman -S mingw-w64-x86_64-libraryname
المشابه لـ apt-get
على Linux. استبدل البادئة mingw-w64-x86_64
بـ mingw-w64-i686
لـ RubyInstaller 32 بت.
على سبيل المثال، يمكن تثبيت هذه الأحجار الكريمة المشهورة بهذه الطريقة من الجوهرة المصدر:
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
يتم تصنيف بعض الأحجار الكريمة بشكل صحيح لتثبيت المكتبات التابعة لكل بكمن. راجع الويكي كيف يمكن إضافة هذه التسمية إلى الأحجار الكريمة. راجع أيضًا الأسئلة الشائعة للحصول على توصيات التثبيت الإضافية.
يوفر هذا المستودع مهام التعبئة لإنشاء الملفات التنفيذية لإعداد RubyInstaller وملفات 7zip. إنه لا يجمع أي مصادر، ولكنه يستخدم مستودع MSYS2-MINGW ومستودع RubyInstaller2 pacman لتنزيل الثنائيات والمكتبات التابعة.
يتم إنشاء برنامج التثبيت بشكل منتظم على Github Actions لكل دفعة إلى مستودع github. يقوم المشغل أيضًا بتنفيذ برنامج التثبيت وتشغيل جميع اختبارات RubyInstaller ومواصفات Ruby عليه، بحيث يتم إعلامنا بشأن حدوث تغييرات. بالإضافة إلى ذلك، يتم تجميع نسخة يومية من أحدث لقطات تطوير روبي وتعبئتها كملفات RubyInstaller. يمكن تنزيله من إصدارات جيثب. تحقق من الويكي لمعرفة كيفية استخدام إصدارات Ruby-head لبناءات CI الخاصة بك.
ridk install
مع الخيارات الافتراضية 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