0Pricing
Learn Rust Coding · درس

إدارة الاعتماديات باستخدام Crates

افهموا كيفية إدارة Cargo للمكتبات الخارجية (crates) وكيفية نشر مكتباتكم الخاصة ليستفيد منها المجتمع.

إدارة الاعتماديات باستخدام Crates درس مجاني في Learn Rust Coding على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn Rust Coding، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn Rust Coding 3 دروس في المجموع.

ما الحزم وCargo؟

في Rust، تُعد الحزمة (crate) الوحدة الأساسية للترجمة والتوزيع. فكّروا فيها على أنها حزمة أو مكتبة تحتوي على الكود الخاص بكم.

إن Cargo هو مدير الحزم الرسمي ونظام البناء الخاص بـRust. فهو يتولى كل شيء، بدءًا من إنشاء المشاريع الجديدة، مرورًا بإدارة التبعيات وترجمة الكود، ووصولًا إلى تشغيل الاختبارات. إنه أفضل أداة مساعدة لكم في تطوير Rust!

ملف `Cargo.toml`

يحتوي كل مشروع Rust يديره Cargo على ملف Cargo.toml في دليله الجذر. هذا هو ملف بيان المشروع، وهو مكتوب بلغة TOML (Tom's Obvious, Minimal Language).

يحدد هذا الملف بيانات مشروعكم الوصفية، والأهم من ذلك أنه يسرد تبعياته.

إعداد المشروع

يحتوي القسم [package] في Cargo.toml على معلومات أساسية عن حزمتكم:

  • name: اسم الحزمة.
  • version: إصدارها الحالي.
  • edition: إصدار Rust الذي يجب استخدامه (مثل 2021).
  • authors: منشئوها.

تُعد هذه التفاصيل مهمة، لا سيما إذا كنتم تخططون لنشر حزمتكم.

إضافة التبعيات

لاستخدام المكتبات الخارجية (الحزم الأخرى) في مشروعكم، أدرجوها ضمن القسم [dependencies] في Cargo.toml.

عند بناء مشروعكم، ينزّل Cargo هذه التبعيات ويترجمها تلقائيًا من crates.io، وهو سجل الحزم المركزي الخاص بـRust.

صيغة التبعيات

إليكم كيفية التصريح عن تبعية في Cargo.toml:

[dependencies] rand = "0.8.5"

يخبر هذا Cargo بجلب الإصدار 0.8.5 من حزمة rand. ويمكنكم أيضًا تحديد نطاقات الإصدارات أو المسارات المحلية.

استخدام حزمة: مثال

لنضف حزمة rand لتوليد رقم عشوائي. أولًا، تأكدوا من وجود rand = "0.8.5" ضمن [dependencies]. ثم استخدموها في كودكم:

use rand::Rng; // Import the Rng trait

fn main() {
  let mut rng = rand::thread_rng(); // Create a random number generator
  let n: u8 = rng.gen_range(1..=10); // Generate a number between 1 and 10 (inclusive)
  println!("Your random number is: {}", n);
}

ملف `Cargo.lock`

بعد البناء باستخدام التبعيات، ينشئ Cargo ملف Cargo.lock. يسجل هذا الملف الإصدارات الدقيقة لجميع التبعيات المباشرة والانتقالية المستخدمة في مشروعكم.

ويضمن ذلك استخدام جميع العاملين على المشروع لإصدارات التبعيات نفسها، مما يؤدي إلى عمليات بناء قابلة لإعادة الإنتاج في البيئات المختلفة.

تحديث التبعيات

قد تصدر تبعياتكم بمرور الوقت إصدارات جديدة تتضمن إصلاحات للأخطاء أو ميزات جديدة. ولتحديثها، استخدموا الأمر cargo update.

يتحقق هذا الأمر من crates.io بحثًا عن إصدارات أحدث توافق متطلبات الإصدار في Cargo.toml، ثم يحدّث Cargo.lock وفقًا لذلك.

نشر حزمتكم الخاصة

هل تريدون مشاركة كود Rust الرائع الخاص بكم مع المجتمع؟ يمكنكم نشر حزمتكم الخاصة على crates.io!

قبل النشر، تأكدوا من احتواء Cargo.toml على البيانات الوصفية المناسبة، مثل روابط description وlicense وrepository.

أوامر النشر

العملية بسيطة:

  1. تسجيل الدخول: استخدموا cargo login <token> مع رمز API من crates.io.
  2. النشر: شغّلوا cargo publish من الدليل الجذر لمشروعكم.

سيجري Cargo عمليات التحقق، ويحزم كودكم، ويرفعه ليصبح متاحًا للآخرين لاستخدامه!

اختبار سريع: Cargo والحزم

أي العبارات التالية حول إدارة الحزم في Rust باستخدام Cargo صحيحة؟

مراجعة: إدارة التبعيات

لقد تعلمتم كيف يُعد Cargo أساسيًا لإدارة مشاريع Rust وتبعياتها!

  • تُعد الحزم حزمًا برمجية قابلة لإعادة الاستخدام.
  • يعرّف Cargo.toml مشروعكم وتبعياته.
  • يضمن Cargo.lock عمليات بناء قابلة لإعادة الإنتاج.
  • يمكنكم نشر حزمكم الخاصة على crates.io.

يجعل هذا النظام القوي مشاركة الكود وإعادة استخدامه في Rust أمرًا فعالًا وموثوقًا للغاية.

الأسئلة الشائعة

هل درس «إدارة الاعتماديات باستخدام Crates» مجاني؟

نعم — نص درس «إدارة الاعتماديات باستخدام Crates» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn Rust Coding، انتقل إلى CoddyKit PRO. تتضمن دورة Learn Rust Coding 3 دروس في المجموع.

ماذا ستتعلم في «إدارة الاعتماديات باستخدام Crates»؟

افهموا كيفية إدارة Cargo للمكتبات الخارجية (crates) وكيفية نشر مكتباتكم الخاصة ليستفيد منها المجتمع. تتمرن على Learn Rust Coding مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn Rust Coding؟

لا تُشترط خبرة سابقة. Learn Rust Coding على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.

كم من الوقت يستغرق درس «إدارة الاعتماديات باستخدام Crates»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn Rust Coding هذا؟

نعم. كل درس في Learn Rust Coding يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تنظيم الشيفرة باستخدام الوحدات
  2. إدارة الاعتماديات باستخدام Crates
  3. معالجة الأخطاء المتينة باستخدام `Result`
← العودة إلى Learn Rust Coding