ما هي الخطوات اللازمة لإنشاء ونشر روبيجيم خاص بك؟
سؤال
لقد قمت بإنشاء مكتبة روبي.
كيف يمكنك إنشاء ونشر Rubygem الخاص بك؟وما هي الأخطاء والمزالق الشائعة المتعلقة بإنشاء ونشر أحجار الياقوت؟
المحلول
هناك العديد من الأدوات لمساعدتك في بناء الأحجار الكريمة الخاصة بك. مجرفة و newgem هم الأكثر شهرة، ولديهم الكثير من الصفات الحميدة.ومع ذلك، تضيف المعزقة نفسها باعتبارها تبعية للجوهرة الخاصة بك، وأصبحت newgem أداة كبيرة جدًا، وهي أداة أجدها غير عملية عندما أرغب في إنشاء جوهرة ونشرها بسرعة.
أداتي المفضلة هي السيد بونز بواسطة تيم بيز.إنه خفيف الوزن ومميز ولا يضيف تبعيات إلى مشروعك.لإنشاء مشروع به، ما عليك سوى تشغيله bones <my_project_name>
في سطر الأوامر، ويتم إنشاء هيكل عظمي لك، مكتمل بـ lib
دليل التعليمات البرمجية الخاصة بك، أ bin
دليل لأدواتك ودليل اختبار.التكوين في أ Rakefile
, ، وهو واضح وموجز.إليك التكوين لمشروع قمت به قبل بضعة أشهر:
load 'tasks/setup.rb'
ensure_in_path 'lib'
require 'friend-feed'
task :default => 'test'
PROJ.name = 'friend-feed'
PROJ.authors = 'Clinton R. Nixon'
PROJ.email = 'crnixon@gmail.com'
PROJ.url = 'friend-feed.rubyforge.org'
PROJ.rubyforge_name = 'friend-feed'
PROJ.dependencies = ['json']
PROJ.version = FriendFeed::VERSION
PROJ.exclude = %w(.git pkg)
يتمتع مستر بونز بالمجموعة القياسية من الميزات التي تتوقعها:يمكنك استخدامه لحزم الجواهر وملفات tar الخاصة بمكتبتك، بالإضافة إلى إصدارها على RubyForge ونشر وثائقك هناك.ومع ذلك، فإن ميزته القاتلة هي قدرته على تجميد هيكله العظمي في دليل منزلك.عند تشغيل bones --freeze
, ، دليل اسمه .mrbones
يتم نسخه إلى الدليل الرئيسي الخاص بك.يمكنك تحرير الملفات الموجودة هناك لإنشاء هيكل عظمي لأحجارك الكريمة يعمل بالطريقة التي تعمل بها، ومن الآن فصاعدًا، عندما تقوم بتشغيل العظام لإنشاء جوهرة جديدة، فإنها ستستخدم هيكل جوهرتك الشخصي.يمكنك إلغاء تجميد السيد بونز عن طريق الجري bones --unfreeze
وسيتم عمل نسخة احتياطية من الهيكل العظمي الخاص بك، وسيتم استخدام الهيكل الافتراضي مرة أخرى.
(ملاحظة التحرير:لقد كتبت تدوينة حول هذا الموضوع منذ عدة أشهر، وتم نسخ معظم هذا منها.)
نصائح أخرى
أوصي جيثب كمكان للبدء، وخاصة بالنسبة للمشاريع مفتوحة المصدر.
وجرب البحث في جوجل كذلك..أول نتيجة بحث بالنسبة لي...
قد ترغب أيضًا في التحقق من جوهرة Hoe، والتي يمكنها أتمتة عملية إنشاء الأحجار الكريمة.
يرى: http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
لقد كتبت في الواقع برنامجًا تعليميًا حول هذا الأمر بالضبط، وكتبته بينما كنت أتعلم.إنها تركز على اللعبة التي كتبتها أكثر من المكتبة.كما يفترض أنك تريد بناء الجوهرة عبر أشعل النار وليس بنفسك:
لم تعد مجرفة تضيف نفسها كتبعية كما هو الحال مع Rubygems 1.2.وتتركز مهامها على نشر الياقوت في روبيفورج.إذا كنت تريد فقط تقديم الجوهرة من github، فأعتقد أن هناك بعض أدوات المهام الجديدة للمساعدة.