صدأ 1.20.0 الإصدار: دعم لمحات ، والتحسينات في التحديث وأوامر الوثيقة

يسر مجموعة عمل Rustup أن تعلن عن إصدار نسخة جديدة ، 1.20.0. Rustup هي الأداة المساعدة الموصى بها لتثبيت Rust ، وهي لغة برمجة تسمح للجميع بإنشاء برامج موثوقة وفعالة.


إذا كان لديك rustup مثبتًا بالفعل ، ثم للترقية إلى الإصدار 1.20.0 ، تحتاج فقط إلى تشغيل الأمر التالي:


 rustup self update 

أيضًا ، rustup تحديث rustup تلقائيًا بعد التحديث المنتظم rustup الأدوات:


 rustup update 

إذا لم تكن قد قمت بالفعل بتثبيت rustup ، فيمكنك تثبيته من الصفحة المقابلة لموقعنا على الويب.


ما هو الجديد في rustup 1.20.0


إن rustup doc ما rustup doc هذا الإصدار هو دعم ملفات التعريف ، والقدرة على الحصول على أحدث إصدار nightly متوفر يحتوي على جميع المكونات التي تحتاج إليها ، وإدخال تحسينات على الأمر rustup doc . يمكنك أيضًا الاطلاع على قائمة التغييرات لمعرفة جميع التغييرات المضمنة في هذا الإصدار.


لمحات


rustup تثبيت الإصدارات السابقة من rustup بشكل افتراضي على عدة مكونات إلى جانب كل مجموعة أدوات - كانت مترجم ( rustc ) ، مدير حزمة ( cargo ) ، مكتبة قياسية ( rust-std ) ، ووثائق محلية ( rust-docs ). على الرغم من أن هذا النهج مناسب للتطوير على جهاز كمبيوتر محلي ، إلا أن بعض المكونات (مثل rust-docs ) تباطأت التثبيت. على سبيل المثال ، عادة ما تكون المستندات غير مطلوبة على خادم التجميع ، أو أنها تبطئ التثبيت على Windows بسبب العدد الكبير من الملفات.


لحل هذه المشكلة ، قدم rustup 1.20.0 مفهوم ملفات التعريف ("ملفات التعريف"). يقومون بتجميع المكونات التي يمكنك اختيار تنزيلها أثناء تثبيت مربع أدوات جديد. التوصيفات المتاحة حاليًا هي minimal default complete


  • الحد الأدنى - ملف تعريف الحد الأدنى الذي يتضمن عدة مكونات للحصول على الحد الأدنى من بيئة العمل ( rustc ، rust-std cargo ). يوصى باستخدامه لنظام Windows إذا لم يتم استخدام الوثائق المحلية ، وكذلك على خوادم بناء CI.
  • الافتراضي - التشكيل الجانبي الافتراضي ، يشمل جميع المكونات التي تم تثبيتها مسبقًا افتراضيًا - ( rustc ، rust-std ، cargo والتوثيق المحلي من rustfmt rust-docs ) ، بالإضافة إلى rustfmt و clippy . سيتم استخدام ملف التعريف هذا بواسطة rustup الافتراضي ، ويوصى باستخدامه بشكل عام.
  • rustup - ملف تعريف كامل ، يشمل جميع المكونات المتاحة من خلال rustup ، بما في ذلك أدوات تكامل miri و IDE ( rls rust-analysis ).

يمكنك استخدام الأمر rustup set profile . على سبيل المثال ، يمكنك تحديد الحد الأدنى لاستخدام ملف التعريف كما يلي:


 rustup set profile minimal 

يمكنك أيضًا تحديد ملف تعريف في المرة الأولى التي تقوم فيها بتثبيت rustup ، إما بشكل تفاعلي عن طريق تحديد خيار "تخصيص التثبيت" ، أو تمرير علامة --profile=<name> برمجيًا. لن تؤثر التوصيفات على مجموعات الأدوات rustup component add للتثبيت الجديدة فقط ؛ في وقت لاحق ، يمكنك تثبيت مكونات فردية باستخدام الأوامر: rustup component add .


تثبيت أحدث إصدار nightly متوافق


بينما تضمن معظم المكونات إصدارات مستقرة على منصات المستوى 1 ، لا تنطبق نفس الضمانات على الإصدارات الليلية. غالبًا ما rustfmt الأدوات المساعدة مثل rustfmt أو clippy أو rls في rustfmt nightly الأخيرة. إذا كنت تعتمد على هذه الأدوات المساعدة ، فقد يجعل هذا السلوك عملية التحديث nightly ، لأن rustup يمنع التحديث إذا كانت المكونات المثبتة مسبقًا غير متوفرة.


بدءًا من الإصدار rustup 1.20.0 ، إذا لم يكن المكون الذي قمت بتثبيته مسبقًا متاحًا في الإصدار nightly الأخير ، فسوف يعود rustup update في الوقت المناسب للعثور على أحدث إصدار يحتوي على جميع المكونات الضرورية. إذا لم يكن هناك مثل هذا الإصدار ، فعليك إما الانتظار أو إزالة بعض المكونات.


إلى جانب هذه التغييرات ، ظهرت إشارات --component / -c و -c --target / -t rustup toolchain install في rustup 1.20.0 ، مما يسمح لك بإضافة مكونات ومنصات مستهدفة أثناء تثبيت صندوق الأدوات. تبحث هذه العلامات أيضًا عن أقرب مبنى nightly مناسب إذا كان الإصدار الحالي لا يحتوي على المكونات المطلوبة.


تحسينات في rustup doc


يفتح الأمر rustup doc الوثائق المثبتة محليًا في متصفحك دون الحاجة إلى اتصال بالإنترنت. rustup rustup rustup توسيع قدرات هذا الأمر ويسمح لك بفتح وثائق API لعنصر معين. على سبيل المثال ، لعرض وثائق Iterator يمكنك استخدام الأمر التالي:


 rustup doc std::iter::Iterator 

يعمل هذا مع السمات والهياكل والتعداد ووحدات الماكرو والوحدات النمطية ويمكن أن يعمل مع الحزم std و alloc و core . ومع ذلك ، لاحظ أن هذه الوظيفة لا تعمل إلا إذا كان لديك مكون من rust-docs في صندوق الأدوات. بمرور الوقت ، سنقوم بتحسين فرق UX وإذا كانت لديك أفكار ، فأخبرنا بها!


شكر


شكرا لجميع الأعضاء الذين عملوا على rustup !


  • أندي ماكافري
  • ارتيم بوريسوفسكي
  • بنيامين تشن
  • دانييل سيلفرستون
  • جون جنجست
  • ليزو تاو
  • مات كانتور
  • ميتشل هاينز
  • نيك كاميرون
  • PicoJr
  • بيترو ألبيني

من المترجمين


مع أي أسئلة حول لغة Rust ، يمكنك المساعدة في دردشة Telegram باللغة الروسية أو في دردشة مماثلة للوافدين الجدد.


تمت ترجمة هذا المقال بشكل مشترك بواسطة andreevlex و funkill و llandger .

Source: https://habr.com/ru/post/ar471614/


All Articles