يطور برنامج brew creator مدير حزم شاي جديدًا

يعمل Max Howell ، مؤلف نظام إدارة حزم macOS الشهير (Homebrew) ، على تطوير مدير حزم جديد ، Tea ، ليكون بمثابة استمرار لتطوير المشروب ، وتجاوز مدير الحزم وتقديم بنية تحتية موحدة لإدارة الحزم تعمل مع مستودعات لامركزية. تم تطوير المشروع مبدئيًا كمشروع متعدد المنصات (حاليًا يتم دعم macOS و Linux ، ودعم Windows قيد التطوير). تمت كتابة كود المشروع في TypeScript وتوزيعه بموجب ترخيص Apache 2.0 (تمت كتابة الشراب بلغة Ruby وشحنه بموجب ترخيص BSD).

الشاي ليس من الناحية المفاهيمية مثل مديري الحزم التقليديين ، وبدلاً من نموذج "أريد تثبيت حزمة" ، فإنه يستخدم نموذج "أريد استخدام حزمة". على وجه الخصوص ، لا يحتوي Tea على أمر تثبيت الحزمة على هذا النحو ، وبدلاً من ذلك يستخدم إنشاء البيئة لتنفيذ محتويات الحزمة التي لا تتداخل مع النظام الحالي. يتم وضع الحزم في دليل منفصل ~ / .tea ولا يتم تعيينها إلى مسارات مطلقة (يمكن نقلها).

يتم توفير طريقتين أساسيتين للعملية: القفز إلى غلاف الأمر مع الوصول إلى بيئة بها حزم مثبتة ، والاستدعاء المباشر للأوامر المتعلقة بالحزمة. على سبيل المثال ، عند تنفيذ "tea + gnu.org / wget" ، سيقوم مدير الحزم بتنزيل الأداة المساعدة wget وجميع التبعيات الضرورية ، ثم توفير الوصول إلى shell في بيئة تتوفر فيها الأداة المساعدة wget المثبتة. الخيار الثاني يعني إطلاقًا مباشرًا - "tea + gnu.org / wget wget https: // some_webpage" ، والتي ستقوم بتثبيت الأداة المساعدة wget وتشغيلها على الفور في بيئة منفصلة. التسلسل المعقد ممكن ، على سبيل المثال ، لتنزيل ملف white-paper.pdf ومعالجته باستخدام الأداة المساعدة glow ، يمكنك استخدام البناء التالي (إذا لم يكن wget و glow موجودًا ، فسيتم تثبيتهما): tea + gnu. org / wget wget -qO- https: / /tea.xyz/white-paper.pdf | tea + charm.sh / glow glow - أو يمكنك استخدام الصيغة الأبسط: tea -X wget -qO- tea.xyz/white-paper | توهج الشاي -X

وبالمثل ، يمكنك تشغيل البرامج النصية وأمثلة التعليمات البرمجية والخط الفردي مباشرةً وتحميل الأدوات اللازمة لعملهم تلقائيًا. على سبيل المثال ، سيؤدي تنفيذ "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go --yellow" إلى تثبيت مجموعة أدوات لغة Go وتنفيذ البرنامج النصي colours.go مع الوسيطة --yellow.

من أجل عدم استدعاء الأمر tea في كل مرة ، من الممكن توصيله كمدير عالمي للبيئات الافتراضية ومعالج للبرامج المفقودة. في هذه الحالة ، إذا لم يكن البرنامج قيد التشغيل متاحًا ، فسيتم تثبيته ، وإذا تم تثبيته مسبقًا ، فسيتم تشغيله في بيئته. $ deno zsh: الأمر غير موجود: deno $ cd my-project $ deno tea: تثبيت deno.land ^ 1.22 deno 1.27.0> ^ D

في شكلها الحالي ، يتم جمع الحزم المتاحة للشاي في مجموعتين ، Pantry.core و Pantry.extra ، والتي تتضمن بيانات وصفية تصف مصادر تنزيل الحزم ، وبناء البرامج النصية ، والاعتماديات. تشتمل مجموعة Pantry.core على مكتبات وأدوات مساعدة أساسية يتم تحديثها واختبارها من قبل مطوري الشاي. يحتوي Pantry.extra على عبوات غير مستقرة جيدًا أو التي اقترحها المجتمع. يتم توفير واجهة ويب للتنقل عبر الحزم.

يتم تبسيط عملية إنشاء حزم الشاي إلى حد كبير وتتلخص في إنشاء ملف package.yml عالمي واحد (مثال) ، والذي لا يتطلب تكييف الحزمة لكل إصدار جديد. لاكتشاف الإصدارات الجديدة وتنزيل الكود الخاص بها ، يمكن للحزمة الارتباط بـ GitHub. يصف الملف أيضًا التبعيات ويوفر نصوصًا برمجية للبناء للأنظمة الأساسية المدعومة. التبعيات المثبتة غير قابلة للتغيير (الإصدار ثابت) ، مما يلغي تكرار المواقف المشابهة لحادثة اللوحة اليسرى.

في المستقبل ، من المخطط إنشاء مستودعات لامركزية غير مرتبطة بأي تخزين منفصل واستخدام blockchain الموزع للبيانات الوصفية ، والبنية التحتية اللامركزية لتخزين الحزم. سيتم اعتماد الإصدارات مباشرة من قبل المشرفين ومراجعتها من قبل أصحاب المصلحة. من الممكن توزيع الرموز المميزة للعملات المشفرة للمساهمة في صيانة الحزم ودعمها وتوزيعها والتحقق منها.

يطور برنامج brew creator مدير حزم شاي جديدًا


المصدر: opennet.ru

إضافة تعليق