| CARGO-PUBLISH(1) | General Commands Manual | CARGO-PUBLISH(1) |
نام (NAME)
cargo-publish - بارگذاری یک بسته در رجیستری
خلاصه دستور (SYNOPSIS)
cargo publish [options]
توضیحات (DESCRIPTION)
این دستور یک فایل فشرده و قابل توزیع .crate شامل کد منبع بسته در دایرکتوری جاری ایجاد کرده و آن را در یک رجیستری بارگذاری میکند. رجیستری پیشفرض https://crates.io است. این دستور مراحل زیر را انجام میدهد:
این دستور مستلزم احراز هویت شما با استفاده از cargo-login(1) یا متغیرهای محیطی فیلدهای پیکربندی registry.token https://doc.rust-lang.org/cargo/reference/config.html#registrytoken و registries.<name>.token https://doc.rust-lang.org/cargo/reference/config.html#registriesnametoken است.
برای جزئیات بیشتر درباره بستهبندی و انتشار، مرجع مستندات https://doc.rust-lang.org/cargo/reference/publishing.html را ببینید.
گزینهها (OPTIONS)
گزینههای انتشار (Publish Options)
--dry-run
--no-verify
--allow-dirty
--index index
--registry registry
انتخاب بسته (Package Selection)
بهطور پیشفرض، زمانی که هیچ گزینهای برای انتخاب بسته داده نشود، بستههای انتخابشده به فایل مانیفست انتخابی بستگی دارند (در صورتی که --manifest-path مشخص نشده باشد، بر اساس دایرکتوری کاری فعلی). اگر مانیفست ریشه یک فضای کاری (workspace) باشد، اعضای پیشفرض فضای کاری انتخاب میشوند، در غیر این صورت تنها بسته تعریفشده توسط مانیفست انتخاب خواهد شد.
اعضای پیشفرض یک فضای کاری را میتوان بهصراحت با کلید workspace.default-members در مانیفست ریشه تنظیم کرد. در صورت عدم تنظیم، یک فضای کاری مجازی شامل تمام اعضای فضای کاری خواهد بود (معادل ارسال --workspace)، و یک فضای کاری غیرمجازی تنها شامل خود crate ریشه خواهد بود.
-p spec…, --package spec…
--workspace
--all
--exclude SPEC…
--target triple
مقدارهای ممکن:
این مقدار همچنین میتواند با مقدار پیکربندی build.target https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.
توجه داشته باشید که تعیین این پرچم باعث میشود Cargo در حالت متفاوتی اجرا شود که در آن مصنوعات (artifacts) مقصد در یک دایرکتوری جداگانه قرار میگیرند. برای جزئیات بیشتر، مستندات build cache https://doc.rust-lang.org/cargo/reference/build-cache.html را ببینید.
--target-dir directory
انتخاب ویژگیها (Feature Selection)
پرچمهای ویژگی به شما اجازه میدهند تعیین کنید کدام ویژگیها فعال باشند. هنگامی که هیچ گزینهٔ ویژگی مشخص نشده باشد، ویژگی default برای هر بستهٔ انتخابشده فعال میشود.
برای جزئیات بیشتر، مستندات ویژگیها https://doc.rust-lang.org/cargo/reference/features.html#command-line-feature-options را ببینید.
-F features, --features features
--all-features
--no-default-features
گزینههای مانیفست (Manifest Options)
--manifest-path path
--locked
این گزینه میتواند در محیطهایی که ساختهای قطعی (deterministic builds) مد نظر است، مانند خطوط لولهٔ یکپارچهسازی مداوم (CI) استفاده شود.
--offline
توجه داشته باشید که این ممکن است به حل وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به crateهایی که بهصورت محلی بارگیری شدهاند محدود میکند، حتی اگر طبق نسخهٔ محلی نمایه (index)، نسخهٔ جدیدتری موجود باشد. برای بارگیری وابستگیها پیش از رفتن به حالت آفلاین، دستور cargo-fetch(1) را ببینید.
همچنین میتواند با مقدار پیکربندی net.offline https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.
--frozen
-j N, --jobs N
--keep-going
برای مثال اگر بستهٔ کنونی به وابستگیهای fails و works وابسته باشد که ساخت یکی از آنها با شکست مواجه میشود، cargo publish -j1 ممکن است موردی را که موفق میشود بسازد یا نسازد (بسته به اینکه Cargo کدامیک از دو ساخت را ابتدا برای اجرا برگزیده باشد)، در حالی که cargo publish -j1 --keep-going قطعاً هر دو ساخت را اجرا خواهد کرد، حتی اگر موردی که ابتدا اجرا میشود شکست بخورد.
گزینههای نمایش (Display Options)
-v, --verbose
-q, --quiet
--color when
همچنین میتواند با مقدار پیکربندی term.color https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.
گزینههای عمومی (Common Options)
+toolchain
--config KEY=VALUE یا PATH
-C PATH
این گزینه تنها در کانال 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
وضعیت خروج (EXIT STATUS)
مثالها (EXAMPLES)
cargo publish