لا داعي للذعر: حل مشكلة "No default toolchain configured" في Rust

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة: الألم المألوف لكل مبتدئ في Rust

\n\n

لقد قمت للتو بتثبيت Rust، باتباع التعليمات من الموقع الرسمي، وتفتح الطرفية (Terminal) وتدخل بقلب خافق rustc --version. وفجأة! بدلاً من سطر جميل برقم الإصدار، ترى نصاً بارداً ومخيفاً: «No default toolchain configured after installing rustup».

\n\n

هل هذا مألوف؟ إذا كان الأمر كذلك، فأنت لست وحدك. هذا السؤال على Stack Overflow حصد آلاف المشاهدات وعشرات التعليقات. لكن لا تتسرع في الذعر وحذف كل شيء. في هذه المقالة، سنشرح ما هو toolchain، ولماذا لا يستطيع rustup العثور عليه، والأهم من ذلك، كيفية إصلاح هذا الخطأ مرة واحدة وإلى الأبد. سنقطع الطريق من الصفر التام إلى بيئة تطوير Rust عاملة.

\n\n

هل أنت مستعد؟ هيا بنا!

\n\n

ما هو toolchain ولماذا rustup «ينساه»؟

\n\n

قبل أن نتعمق في التفاصيل، دعنا نفهم المفاهيم. Toolchain (سلسلة الأدوات) هي مجموعة من الأدوات اللازمة لتجميع وبناء كود Rust. تتضمن:

\n\n
    \n
  • rustc — المترجم نفسه؛
  • \n
  • cargo — مدير الحزم ونظام البناء؛
  • \n
  • rust-std — المكتبة القياسية؛
  • \n
  • ومكونات أخرى (مثل clippy للتدقيق اللغوي).
  • \n
\n\n

Rustup هو المثبت الرسمي ومدير إصدارات Rust. يتيح لك التبديل بين إصدارات مختلفة من المترجم: المستقر (stable)، الليلي (nightly)، والإصدار التجريبي (beta). عندما تدخل rustup install stable، يقوم rustup بتنزيل toolchain المناسب وحفظه على القرص.

\n\n

يظهر خطأ «No default toolchain configured» عندما لا يستطيع rustup تحديد إصدار toolchain الذي يجب استخدامه افتراضياً. هذا يشبه الموقف عندما تذهب إلى مكتبة ولا تعرف أي كتاب تقرأ أولاً. rustup ببساطة لا يعرف أي مترجم يجب تشغيله.

\n\n

الأسباب قد تكون مختلفة:

\n
    \n
  • لقد قمت للتو بتثبيت rustup ولكنك لم تقم بتثبيت أي toolchain؛
  • انقطع التثبيت بسبب مشاكل في الشبكة؛
  • قمت بحذف toolchain يدوياً؛
  • مشاكل في صلاحيات الوصول إلى المجلد ~/.rustup.
\n\n

التشخيص: التحقق من الحالة الحالية

\n\n

قبل إصلاح أي شيء، دعنا نرى ما لدينا. افتح الطرفية (Terminal) ونفذ الأمر:

\n\n
rustup show
\n\n

يجب أن ترى شيئاً كهذا (إذا كان كل شيء سيئاً):

\n\n
Default host: x86_64-unknown-linux-gnu\nrustup home:  /home/user/.rustup\n\ninstalled toolchains\n--------------------\n\nactive toolchain\n----------------\n(no active toolchain)
\n\n

لاحظ السطر «no active toolchain». هذا هو جذر المشكلة. دعنا نصلحه.

\n\n

الحل رقم 1: تثبيت وإعداد toolchain الافتراضي

\n\n

أبسط وأكثر الطرق شيوعاً هو تثبيت toolchain المستقر بشكل صريح وتعيينه كإصدار افتراضي.

\n\n

نفذ في الطرفية (Terminal):

\n\n
rustup install stable
\n\n

سيقوم هذا الأمر بتنزيل وتثبيت أحدث إصدار مستقر من Rust. قد تستغرق العملية بعض الوقت (عادةً 1-3 دقائق، حسب سرعة الإنترنت).

\n\n

بعد اكتمال التثبيت، تحتاج إلى «ربط» هذا toolchain كإصدار افتراضي:

\n\n
rustup default stable
\n\n

الآن تحقق من النتيجة:

\n\n
rustup show
\n\n

يجب أن ترى toolchain نشطاً. يمكنك أيضاً التحقق من المترجم:

\n\n
rustc --version
\n\n

إذا رأيت شيئاً مثل rustc 1.78.0 (9b00956e5 2024-04-29) — تهانينا، تم حل المشكلة!

\n\n

الحل رقم 2: استخدام nightly toolchain (للمجربين)

\n\n

في بعض الأحيان قد تحتاج إلى الإصدار الليلي من المترجم، على سبيل المثال لـ

المدونات

توصيات الكتب