CARGO-CLEAN(1) General Commands Manual CARGO-CLEAN(1)

cargo-clean - پاک‌سازی مصنوعات تولیدشده

cargo clean [گزینه‌ها]

مصنوعات (artifacts) تولیدشده توسط Cargo در گذشته را از دایرکتوری target حذف می‌کند.

بدون هیچ گزینه‌ای، دستور cargo clean کل دایرکتوری target را حذف خواهد کرد.

هنگامی که هیچ بسته‌ای انتخاب نشده باشد، تمام بسته‌ها و وابستگی‌های موجود در workspace پاک‌سازی می‌شوند.

-p spec…, --package spec…

تنها بسته‌های مشخص‌شده را پاک‌سازی می‌کند. این پرچم می‌تواند چندین بار مشخص شود. برای ساختار SPEC، cargo-pkgid(1) را ببینید.

--workspace

پاک‌سازی مصنوعات مربوط به اعضای workspace.

--dry-run

خلاصه‌ای از آنچه حذف خواهد شد را بدون حذف هیچ چیزی نمایش می‌دهد. برای نمایش فایل‌های واقعی که حذف خواهند شد، به همراه --verbose استفاده شود.

--doc

این گزینه باعث می‌شود cargo clean تنها دایرکتوری doc را در دایرکتوری target حذف کند.

--release

تمام مصنوعات موجود در دایرکتوری release را حذف می‌کند.

--profile name

تمام مصنوعات موجود در دایرکتوری با نام profile داده‌شده را حذف می‌کند.

--target-dir directory

دایرکتوری برای تمامی مصنوعات تولیدشده و فایل‌های میانی. همچنین می‌تواند با متغیر محیطی CARGO_TARGET_DIR یا مقدار پیکربندی build.target-dir در https://doc.rust-lang.org/cargo/reference/config.html مشخص شود. مقدار پیش‌فرض آن، دایرکتوری target در ریشهٔ workspace است.

--target triple

پاک‌سازی برای معماری مقصد (target) مشخص‌شده. این پرچم می‌تواند چندین بار مشخص شود. مقدار پیش‌فرض، معماری میزبان (host) است. ساختار کلی سه‌گانه (triple) به‌صورت <arch><sub>-<vendor>-<sys>-<abi> است.

مقادیر ممکن:

•هر target پشتیبانی‌شده در rustc --print target-list.
•"host-tuple"، که در داخل با target میزبان جایگزین خواهد شد. این مقدار به‌ویژه زمانی مفید است که در حال کامپایل متقابل (cross-compile) برخی crateها هستید و نمی‌خواهید ماشین میزبان خود را به‌صورت صریح به‌عنوان یک target مشخص کنید (به‌عنوان مثال، یک xtask در یک پروژهٔ مشترک که ممکن است توسط میزبان‌های مختلف روی آن کار شود).
•مسیری به یک مشخصات target سفارشی. برای اطلاعات بیشتر، Custom Target Lookup Path https://doc.rust-lang.org/rustc/targets/custom.html#custom-target-lookup-path را ببینید.

این مورد همچنین می‌تواند با مقدار پیکربندی build.target در https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.

توجه داشته باشید که مشخص کردن این پرچم باعث می‌شود Cargo در حالت متفاوتی اجرا شود که در آن مصنوعات target در یک دایرکتوری جداگانه قرار می‌گیرند. برای جزئیات بیشتر، مستندات build cache https://doc.rust-lang.org/cargo/reference/build-cache.html را ببینید.

-v, --verbose

استفاده از خروجی پرگو (verbose). می‌تواند دو بار برای خروجی «بسیار پرگو» مشخص شود که شامل خروجی‌های اضافی مانند هشدارهای وابستگی و خروجی اسکریپت ساخت است. همچنین می‌تواند با مقدار پیکربندی term.verbose در config value https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.

-q, --quiet

پیام‌های گزارش کارگو را چاپ نمی‌کند. همچنین می‌تواند با مقدار پیکربندی term.quiet در config value https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.

--color when

کنترل زمان استفاده از خروجی رنگی. مقادیر معتبر:
•auto (پیش‌فرض): تشخیص خودکار اینکه آیا پشتیبانی از رنگ در ترمینال موجود است یا خیر.
•always: همیشه رنگ‌ها را نمایش می‌دهد.
•never: هرگز رنگ‌ها را نمایش نمی‌دهد.

همچنین می‌تواند با مقدار پیکربندی term.color در config value https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.

--manifest-path path

مسیر فایل Cargo.toml. به‌طور پیش‌فرض، Cargo فایل Cargo.toml را در دایرکتوری فعلی یا هر یک از دایرکتوری‌های والد جستجو می‌کند.

--locked

تضمین می‌کند که دقیقاً از همان وابستگی‌ها و نسخه‌هایی استفاده شود که هنگام ایجاد اولیهٔ فایل Cargo.lock موجود تولید شده‌اند. در صورت رخ دادن هر یک از سناریوهای زیر، Cargo با خطا خارج خواهد شد:
•فایل قفل (lock file) وجود نداشته باشد.
•کارگو به دلیل برطرف‌سازی متفاوت وابستگی‌ها تلاش کند فایل قفل را تغییر دهد.

این گزینه می‌تواند در محیط‌هایی که ساخت‌های قطعی و تکرارپذیر مورد نظر است، مانند خطوط لولهٔ CI، استفاده شود.

--offline

از دسترسی Cargo به شبکه به هر دلیلی جلوگیری می‌کند. بدون این پرچم، اگر Cargo نیاز به دسترسی به شبکه داشته باشد و شبکه در دسترس نباشد، با خطا متوقف خواهد شد. با این پرچم، Cargo در صورت امکان تلاش می‌کند بدون شبکه ادامه دهد.

توجه داشته باشید که این ممکن است به حل وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به crateهایی که به‌صورت محلی دانلود شده‌اند محدود می‌کند، حتی اگر طبق نسخهٔ محلی اندیس، نسخهٔ جدیدتری وجود داشته باشد. برای دانلود وابستگی‌ها پیش از رفتن به حالت آفلاین، دستور cargo-fetch(1) را ببینید.

همچنین می‌تواند با مقدار پیکربندی net.offline در config value https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.

--frozen

معادل تعیین هم‌زمان --locked و --offline است.

+toolchain

اگر Cargo با rustup نصب شده باشد و اولین آرگومان cargo با + شروع شود، به‌عنوان نام زنجیره ابزار (toolchain) در rustup تفسیر می‌شود (مانند +stable یا +nightly). برای اطلاعات بیشتر در مورد نحوهٔ کارکرد بازنویسی‌های زنجیره ابزار، به rustup documentation https://rust-lang.github.io/rustup/overrides.html مراجعه کنید.

--config KEY=VALUE or PATH

یک مقدار پیکربندی Cargo را بازنویسی می‌کند. آرگومان باید در ساختار TOML به‌صورت KEY=VALUE باشد، یا به‌صورت مسیری به یک فایل پیکربندی اضافی ارائه شود. این پرچم می‌تواند چندین بار مشخص شود. برای اطلاعات بیشتر، بخش بازنویسی‌های خط فرمان https://doc.rust-lang.org/cargo/reference/config.html#command-line-overrides را ببینید.

-C PATH

دایرکتوری کاری فعلی را قبل از اجرای هر عملیات مشخص‌شده تغییر می‌دهد. این موضوع بر مواردی مانند جایی که کارگو به‌طور پیش‌فرض برای مانیفست پروژه (Cargo.toml) جستجو می‌کند و همچنین دایرکتوری‌هایی که برای کشف .cargo/config.toml جستجو می‌شوند، تأثیر می‌گذارد. این گزینه باید قبل از نام دستور قرار گیرد، برای مثال cargo -C path/to/my-project build.

این گزینه فقط در کانال nightly https://doc.rust-lang.org/book/appendix-07-nightly-rust.html در دسترس است و برای فعال‌سازی به پرچم -Z unstable-options نیاز دارد (مشاهدهٔ #10098 https://github.com/rust-lang/cargo/issues/10098).

-h, --help

اطلاعات راهنما را چاپ می‌کند.

-Z flag

پرچم‌های ناپایدار (فقط مخصوص نسخهٔ nightly) برای Cargo. برای جزئیات، cargo -Z help را اجرا کنید.

برای جزئیات درباره متغیرهای محیطی که Cargo می‌خواند، مرجع https://doc.rust-lang.org/cargo/reference/environment-variables.html را ببینید.

•0: کارگو با موفقیت پایان یافت.
•101: کارگو در تکمیل عملیات با شکست مواجه شد.

1.حذف کامل دایرکتوری target:
cargo clean
2.حذف تنها مصنوعات release:
cargo clean --release

cargo(1), cargo-build(1)