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

Rustup 1.30 مرز امن‌تری برای نصب خودکار ابزارهای Rust می‌کشد

نسخه بعدی Rustup در حال محدود کردن زمان نصب خودکار toolchainهای مفقود و حذف backend قدیمی curl است؛ تغییری که محیط‌های build صریح‌تر و قابل‌مشاهده‌تری ایجاد می‌کند.

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

Rustup برای چرخه انتشار نسخه 1.30 در حال آماده‌سازی تغییری کوچک اما مهم است: فرمان‌هایی که خود Rustup را مدیریت می‌کنند، دیگر در شرایطی که نصب toolchain فعال ضروری نیست، آن را به‌صورت ضمنی نصب نخواهند کرد. هدف این تغییر رفتاری غیرمنتظره است که در آن فرمانی مانند rustup +beta target remove ... ممکن بود پیش از انجام عملیات مربوط به target، شروع به دانلود کل toolchain نسخه beta کند.

تیم Rustup می‌گوید این قاعده جدید خطاها را قابل‌پیش‌بینی‌تر می‌کند. اگر فرمان به toolchainای نیاز داشته باشد که نصب نشده است، باید همین وضعیت را گزارش کند، نه اینکه بی‌صدا وضعیت سیستم را تغییر دهد. سپس کاربر می‌تواند عملیات صریحی مانند rustup install را اجرا کند و آن را در اسکریپت راه‌اندازی یا لاگ‌های CI قابل مشاهده نگه دارد.

این مرز کاملاً مطلق نیست. تیم قصد دارد نصب ضمنی را برای فرمان‌های واسطی مانند rustc و cargo حفظ کند، زیرا حذف گسترده این رفتار در چرخه قبلی نسخه 1.28 باعث اختلال شد. نتیجه عملی، کوچک‌تر شدن محدوده نصب خودکار است: کامپایل معمولی می‌تواند روند آشنای خود را حفظ کند، اما فرمان‌های مدیریتی Rustup کمتر احتمال دارد فعالیت شبکه‌ای غیرمنتظره ایجاد کنند.

Rustup 1.30 همچنین در حال یکپارچه‌سازی stack دانلود خود است. پروژه از مدتی قبل reqwest و rustls را به‌عنوان مسیر پیشنهادی معرفی کرده و برنامه نسخه 1.30 حذف backend دانلود curl را در نظر گرفته است. issue رسمی Rustup انگیزه این کار را عملیاتی توضیح می‌دهد: ترکیب‌های backend کمتر می‌توانند cross-build را ساده‌تر کنند و خطاهای وابسته به OpenSSL و رفتار TLS در پلتفرم‌های مختلف را کاهش دهند. حذف فوری Native TLS در برنامه نیست؛ بنابراین این تغییر بیشتر ساده‌سازی است تا بازتعریف کامل سیاست TLS.

برای توسعه‌دهندگان ICP، نکته اصلی یک قابلیت جدید کامپایلر نیست، بلکه reproducibility فرایند build است. نصب toolchain بخشی از مرز امنیت و قابلیت اطمینان build محسوب می‌شود: دانلود برنامه‌ریزی‌نشده می‌تواند dependencyهای مفقود را پنهان کند، deployment را کندتر کند یا باعث شود build تمیز با لپ‌تاپ توسعه‌دهنده رفتار متفاوتی داشته باشد. تیم‌هایی که در CI از Rustup استفاده می‌کنند باید محل انتظار نصب را بررسی کنند، مراحل صریح rustup install را ترجیح دهند و اسکریپت‌هایی را که به RUSTUP_AUTO_INSTALL وابسته‌اند آزمایش کنند.

پشتیبانی از مسیرهای XDG نیز در فهرست کارهای برنامه‌ریزی‌شده قرار دارد و می‌تواند پیش‌بینی‌پذیری را در سیستم‌هایی که مسیرهای configuration، cache و data را جدا می‌کنند بهتر کند. بااین‌حال، این قابلیت هنوز کارِ در حال پیگیری است و در قالب ویژگی منتشرشده نسخه 1.30 قرار ندارد.

ملاحظه: Rustup 1.30 هنوز در حال توسعه است. برنامه تیم در ماه ژوئیه زمان انتشار را حدود چهار تا هشت ماه آینده توصیف کرده بود؛ بنابراین رفتار، دامنه و زمان‌بندی آن پیش از انتشار ممکن است تغییر کند. در ۱۳ اوت ۲۰۲۶، این موضوع یک جهت‌گیری توسعه‌ای است، نه اعلام انتشار نسخه پایدار.

برچسب‌هاRustrustuptoolchainبازسازی‌پذیری build
منابع مستند۳ مرجع
  1. [۰۱]Rustup update: our plans for the 1.30 release cycleblog.rust-lang.org
  2. [۰۲]Tracking: Simplify download and/or TLS backends · Issue #3790github.com
  3. [۰۳]Auto-installation of the active toolchain gets triggered too eagerly · Issue #4836github.com
خواندنی بعدی

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

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

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