EN
→ بازگشت به خبرخوان
شمارهٔ ۰۳۱۵Rust۲ دقیقه۲ منبع

Rustup 1.29.1 مدیریت زنجیره‌ابزار را موازی‌تر و نصب‌ها را صریح‌تر می‌کند

نسخه 1.29.1 ابزار Rustup که در اول سپتامبر منتشر شد، بررسی به‌روزرسانی‌ها و نصب چند مؤلفه را هم‌زمان‌تر می‌کند و هنگام نصب ضمنی زنجیره‌ابزار به کاربر هشدار می‌دهد. نتیجه، گردش‌کاری سریع‌تر و مرزهای روشن‌تر برای خودکارسازی است.

اشتراک‌گذاری
راست (Rust)
Rustup 1.29.1 مدیریت زنجیره‌ابزار را موازی‌تر و نصب‌ها را صریح‌تر می‌کند
تصویر: تولید هوش مصنوعی

Rustup 1.29.1 نسخه‌ای کوچک اما کاربردی است که دو هدف را دنبال می‌کند: مدیریت زنجیره‌ابزار را موازی‌تر کند و رفتارهای نصب پنهان را قابل‌مشاهده‌تر سازد.

تیم Rustup در اول سپتامبر این نسخه را معرفی کرد. هنگام اجرای rustup update، Rustup اکنون وجود به‌روزرسانی‌های احتمالی را به‌صورت موازی بررسی می‌کند. همچنین وقتی چند مؤلفه به rustup component add داده شود، نصب آن‌ها می‌تواند هم‌زمان انجام شود. این تغییر مستقیماً کامپایلر Rust را عوض نمی‌کند؛ هدف آن کاهش زمان انتظار در نگهداری روزمره است.

این موضوع برای CI و رایانه‌های توسعه اهمیت دارد. Rustup کانال‌های کامپایلر و مؤلفه‌های مرتبط را از طریق یک رابط واحد مدیریت می‌کند، بنابراین یک به‌روزرسانی ممکن است چند بررسی فراداده و دانلود را دربر بگیرد. اجرای موازی می‌تواند زمان بی‌کاری این مسیر را کم کند، اما اطلاعیه انتشار هیچ معیار عددی برای سرعت ارائه نمی‌دهد. میزان بهبود به وضعیت شبکه، تعداد مؤلفه‌ها، سرعت ذخیره‌سازی و دستگاه اجراکننده بستگی خواهد داشت.

تغییر مهم‌تر از نظر ایمنی، هشدار درباره نصب ضمنی زنجیره‌ابزار است. Rustup 1.29.1 نصب ضمنی زنجیره‌ابزار فعال را در rustup-init و برخی فراخوانی‌های Rustup که این رفتار در آن‌ها ضروری تشخیص داده نمی‌شود، منسوخ می‌کند. در این موارد، به‌جای پر کردن بی‌سر‌وصدای زنجیره‌ابزارِ گمشده، فرمان به کاربر هشدار می‌دهد.

برای خودکارسازی، این تغییر یک مرز مفید ایجاد می‌کند. اسکریپت ساختی که به کامپایلر نیاز دارد باید مرحله نصب را صریحاً مشخص کند؛ برای نمونه با rustup toolchain install یا یک پیکربندی تثبیت‌شده در rust-toolchain. به این ترتیب دسترسی شبکه، پر شدن کش و مدیریت خطا در لاگ‌ها قابل مشاهده می‌شود و احتمال تغییر ناخواسته محیط توسط فرمانی که فقط برای بررسی یا پیکربندی اجرا شده، کاهش می‌یابد.

Rustup همچنین گزینه rustup doc --serve را اضافه می‌کند که مستندات نصب‌شده را از طریق HTTP محلی ارائه می‌دهد. کتاب Rustup، مؤلفه rust-docs را یک نسخه محلی از مستندات Rust معرفی می‌کند و rustup doc را روش معمول باز کردن آن می‌داند. حالت جدید برای کانتینرها، محیط‌های توسعه راه دور و تنظیماتی که باز کردن مستقیم فایل محلی در مرورگر دشوار است، کاربردی‌تر خواهد بود.

در ویندوز، نصب زنجیره‌ابزار میزبان i686-pc-windows-* از یک میزبان ۶۴بیتی اکنون به پرچم صریح --force-non-host نیاز دارد. Rustup همچنین پشتیبانی رسمی از میزبان aarch64-pc-windows-gnullvm را اضافه کرده، پس از لغو نصب فایل‌های باقی‌مانده غیرمنتظره را پاک می‌کند و خطایی در ویندوز هنگام استفاده از rustup-init.sh را برطرف می‌سازد. اصطلاح «target tuple» نیز جایگزین «target triple» شده، اما گزینه‌های فعلی CLI مانند --target بدون تغییر باقی مانده‌اند.

روش پیشنهادی برای به‌روزرسانی، اجرای rustup self update است؛ یک rustup update معمولی نیز در پایان Rustup را به‌روزرسانی می‌کند. تیم‌ها باید اسکریپت‌هایی را که به نصب خودکار زنجیره‌ابزار متکی هستند بازبینی کنند و رفتار هشدار جدید را در محیط‌های پاک CI آزمایش کنند. همچنین باید caveat اعلام‌شده پروژه را در نظر گرفت: نرم‌افزارهای ضدبدافزار ممکن است موقتاً Rustup را مسدود کنند یا هنگام کپی فایل‌ها اختلال ایجاد کنند، به‌خصوص هنگام نصب rust-docs، تا زمانی که قواعد شناسایی آن‌ها به‌روز شود.

بنابراین Rustup 1.29.1 بیش از آنکه یک قابلیت بزرگ کامپایلر باشد، تلاشی برای صریح‌تر کردن رفتار مدیر زنجیره‌ابزار است. هماهنگی سریع‌تر مسیر روزمره را بهبود می‌دهد و هشدارها و پرچم‌های اجباری، تغییرات محیط را برای ممیزی قابل‌فهم‌تر می‌کنند.

برچسب‌هاRustrustupزنجیره‌ابزارCI
منابع مستند۲ مرجع
  1. [۰۱]Announcing rustup 1.29.1blog.rust-lang.org
  2. [۰۲]Components - The rustup bookrust-lang.github.io
خواندنی بعدی

خبرخوان را در ایمیل بگیرید

هر سیگنال تازه، مستقیم از خط تولید. بدون مزاحمت، لغو عضویت در هر زمان.

خوراک RSS در دسترس · بدون هرزنامه