قيود الإصدارات وملف القفل
تثبيت إصدارات التبعيات وحلّها
قيود الإصدارات وملف القفل درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
لماذا توجد القيود
يخبر version constraint pub بإصدارات الحزمة التي يقبلها مشروعك. وهو يوازن بين الحصول على الإصلاحات وتجنب التغييرات التي تكسر التوافق. 🎯
http: ^1.2.0الإصدار الدلالي
تتبع حزم Dart semantic versioning: major.minor.patch. وتشير زيادة major إلى تغييرات كاسرة للتوافق، بينما تضيف minor ميزات، وتصلح patch الأخطاء.
version: 2.4.1قيد caret
يقبل caret ^1.2.0 أي إصدار يبدأ من 1.2.0 وحتى ما قبل 2.0.0. وهو الإعداد الافتراضي المرن الذي يستخدمه pub.
http: ^1.2.0تثبيت إصدار واحد
تعني كتابة رقم مجرد exactly ذلك الإصدار، ولا شيء غيره. استخدم هذا بحذر عندما تحتاج إلى إصدار واحد معروف.
http: 1.2.0قيود النطاق
يمكنك تحديد range باستخدام عوامل المقارنة. ويمنحك ذلك تحكماً دقيقاً في الحدين الأدنى والأقصى.
http: '>=1.0.0 <2.0.0'قيد any
يقبل استخدام any كل إصدار. وهذا محفوف بالمخاطر لأن إصداراً رئيسياً مستقبلياً قد يتسبب في تعطل برنامجك، لذا يُفضّل استخدام caret بدلاً منه.
http: anyتعرّف على ملف القفل
عندما يحل pub اعتمادياتك، يسجل الإصدارات المحددة التي اختارها في pubspec.lock. ويثبت هذا الملف ما يثبته الجميع فعلياً.
عمليات بناء قابلة لإعادة الإنتاج
يضمن ملف القفل عمليات بناء reproducible: فعند تشغيل زميلك pub get، يحصل على الإصدارات نفسها التي اختبرتها، لا على ترقيات مفاجئة.
هل ينبغي إيداعه
بالنسبة إلى التطبيقات، أودِع commit pubspec.lock في نظام التحكم بالإصدارات. أما الحزم القابلة لإعادة الاستخدام، فاتركه خارجاً حتى يحل المستهلكون الإصدارات بأنفسهم.
تحديث ملف القفل
شغّل dart pub upgrade لتحديث pubspec.lock إلى أحدث الإصدارات التي تسمح بها قيودك. أما get العادي فيحافظ على التثبيتات الحالية.
dart pub upgradeحل التعارضات
إذا طلبت حزمتان إصدارات غير متوافقة، فسيبلغ pub عن conflict. عندها يمكنك تخفيف أحد القيود أو اختيار إصدارات متوافقة من الحزم.
تحقق سريع
ما الذي يسمح به القيد ^1.2.0؟
مراجعة
أصبحت الآن تقرأ constraints مثل caret والنطاقات، وتعرف أن pubspec.lock يثبت الإصدارات المحددة لعمليات بناء قابلة لإعادة الإنتاج وخالية من التعارضات. 🎉
الأسئلة الشائعة
هل درس «قيود الإصدارات وملف القفل» مجاني؟
نعم — نص درس «قيود الإصدارات وملف القفل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «قيود الإصدارات وملف القفل»؟
تثبيت إصدارات التبعيات وحلّها تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «قيود الإصدارات وملف القفل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تشريح pubspec.yaml
- إضافة التبعيات باستخدام dart pub
- الاستيرادات والتصديرات والمكتبات
- قيود الإصدارات وملف القفل