مرجع سريع

ورقة مساعدة لإدارة تبعيات Ruby باستخدام Bundler

مرجع سريع لـ Bundler في Ruby: تثبيت الحزم، تحديث gems، صياغة Gemfile، أوضاع النشر في الإنتاج، والتطوير المحلي.

· تاريخ النشر

Bundler يقوم Bundler بإدارة تبعيات التطبيق خلال دورة حياته بالكامل لمشاريع لغة Ruby.

أوامر سطر الأوامر الشائعة

bundle install          # تثبيت جميع الحزم (gems) المطلوبة
bundle install -j4      # تثبيت متوازٍ باستخدام 4 مسارات عمل
bundle update           # تحديث جميع الحزم إلى أحدث الإصدارات المتوافقة
bundle update rails     # تحديث حزمة محددة فقط
bundle outdated         # فحص الحزم القديمة القابلة للتحديث

bundle exec <command>   # تشغيل الأمر في سياق حزم المشروع
bundle show <gemname>   # عرض مسار دليل تثبيت الحزمة
bundle info <gemname>   # عرض البيانات الوصفية للحزمة
bundle gem <my_gem>     # إنشاء هيكل حزمة gem جديدة

بناء جملة ملف Gemfile

التصريحات الأساسية

source 'https://rubygems.org'

gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'

مراجع Git و GitHub

# مستودع GitHub مباشر
gem 'devise', github: 'heartcombo/devise'

# فرع أو وسم Git محدد
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'

مجموعات التبعيات

group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
end

group :production do
  gem 'aws-sdk-s3'
end

النشر في بيئة الإنتاج

في خطوط أنابيب CI/CD والخوادم، قم بالتثبيت مع وضع deployment لمنع تعديل ملف Gemfile.lock:

# تكوين نشر Bundler الحديث
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install

تجاوز الحزم المحلية

توجيه حزمة gem إلى مسار مجلد محلي للتطوير النشط:

bundle config local.my_gem ~/Developer/Projects/my_gem

موضوعات ذات صلة