يسر مجموعة عمل 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 .