'\" t .TH "CARGO\-PUBLISH" "1" .nh .ad l .ss \n[.ss] 0 .SH "نام (NAME)" cargo\-publish \- بارگذاری یک بسته در رجیستری .SH "خلاصه دستور (SYNOPSIS)" \fBcargo publish\fR [\fIoptions\fR] .SH "توضیحات (DESCRIPTION)" این دستور یک فایل فشرده و قابل توزیع \fB\&.crate\fR شامل کد منبع بسته در دایرکتوری جاری ایجاد کرده و آن را در یک رجیستری بارگذاری می‌کند. رجیستری پیش‌فرض است. این دستور مراحل زیر را انجام می‌دهد: .sp .RS 4 \h'-04' 1.\h'+01'انجام چند بررسی، از جمله: .sp .RS 4 \h'-04'\(bu\h'+03'بررسی کلید \fBpackage.publish\fR در مانیفست برای محدودیت‌های مربوط به رجیستری‌هایی که مجاز به انتشار در آن‌ها هستید. .RE .RE .sp .RS 4 \h'-04' 2.\h'+01'ایجاد یک فایل \fB\&.crate\fR با دنبال کردن مراحل موجود در \fBcargo\-package\fR(1). .RE .sp .RS 4 \h'-04' 3.\h'+01'بارگذاری crate در رجیستری. سرور بررسی‌های بیشتری را روی crate انجام خواهد داد. .RE .sp .RS 4 \h'-04' 4.\h'+01'کلاینت با ارسال درخواست‌های مکرر منتظر نمایان شدن بسته در نمایه (index) می‌ماند، و ممکن است با پایان مهلت زمانی (timeout) مواجه شود. در این صورت، باید تکمیل فرایند را به صورت دستی بررسی کنید. این پایان مهلت زمانی اثری بر بارگذاری نخواهد داشت. .RE .sp این دستور مستلزم احراز هویت شما با استفاده از \fBcargo\-login\fR(1) یا متغیرهای محیطی فیلدهای پیکربندی \fI\f(BIregistry.token\fI\fR و \fI\f(BIregistries..token\fI\fR است. .sp برای جزئیات بیشتر درباره بسته‌بندی و انتشار، \fIمرجع مستندات\fR را ببینید. .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های انتشار (Publish Options)" .sp \fB\-\-dry\-run\fR .RS 4 انجام تمام بررسی‌ها بدون بارگذاری. .RE .sp \fB\-\-no\-verify\fR .RS 4 عدم اعتبارسنجی محتویات از طریق ساخت (build) آن‌ها. .RE .sp \fB\-\-allow\-dirty\fR .RS 4 اجازه به بسته‌بندی دایرکتوری‌های کاری حاوی تغییرات ثبت‌نشده (uncommitted) در سامانه کنترل نسخه (VCS). .RE .sp \fB\-\-index\fR \fIindex\fR .RS 4 نشانی URL مربوط به نمایه (index) رجیستری مورد استفاده. .RE .sp \fB\-\-registry\fR \fIregistry\fR .RS 4 نام رجیستری برای انتشار. نام‌های رجیستری در \fIفایل‌های پیکربندی Cargo\fR تعریف می‌شوند. در صورت مشخص نشدن، و چنانچه فیلد \fI\f(BIpackage.publish\fI\fR در \fBCargo.toml\fR با یک رجیستری واحد وجود داشته باشد، در آن رجیستری منتشر خواهد شد. در غیر این صورت از رجیستری پیش‌فرض استفاده می‌کند که توسط کلید پیکربندی \fI\f(BIregistry.default\fI\fR مشخص می‌شود و مقدار پیش‌فرض آن \fBcrates\-io\fR است. .RE .SS "انتخاب بسته (Package Selection)" به‌طور پیش‌فرض، زمانی که هیچ گزینه‌ای برای انتخاب بسته داده نشود، بسته‌های انتخاب‌شده به فایل مانیفست انتخابی بستگی دارند (در صورتی که \fB\-\-manifest\-path\fR مشخص نشده باشد، بر اساس دایرکتوری کاری فعلی). اگر مانیفست ریشه یک فضای کاری (workspace) باشد، اعضای پیش‌فرض فضای کاری انتخاب می‌شوند، در غیر این صورت تنها بسته تعریف‌شده توسط مانیفست انتخاب خواهد شد. .sp اعضای پیش‌فرض یک فضای کاری را می‌توان به‌صراحت با کلید \fBworkspace.default\-members\fR در مانیفست ریشه تنظیم کرد. در صورت عدم تنظیم، یک فضای کاری مجازی شامل تمام اعضای فضای کاری خواهد بود (معادل ارسال \fB\-\-workspace\fR)، و یک فضای کاری غیرمجازی تنها شامل خود crate ریشه خواهد بود. .sp \fB\-p\fR \fIspec\fR\[u2026], \fB\-\-package\fR \fIspec\fR\[u2026] .RS 4 فقط بسته‌های مشخص‌شده را منتشر می‌کند. برای ساختار SPEC، \fBcargo\-pkgid\fR(1) را ببینید. این پرچم می‌تواند چندین بار مشخص شود و از الگوهای متداول glob یونیکس مانند \fB*\fR، \fB?\fR و \fB[]\fR پشتیبانی می‌کند. با این حال، برای جلوگیری از بسط تصادفی الگوهای glob توسط شل پیش از پردازش Cargo، باید در اطراف هر الگو از علامت‌های نقل‌قول تکی یا جفتی استفاده کنید. .RE .sp \fB\-\-workspace\fR .RS 4 تمام اعضای موجود در فضای کاری را منتشر می‌کند. .RE .sp \fB\-\-all\fR .RS 4 نام مستعار منسوخ‌شده برای \fB\-\-workspace\fR\&. .RE .sp \fB\-\-exclude\fR \fISPEC\fR\[u2026] .RS 4 مستثنی کردن بسته‌های مشخص‌شده. باید همراه با پرچم \fB\-\-workspace\fR استفاده شود. این پرچم می‌تواند چندین بار مشخص شود و از الگوهای متداول glob یونیکس مانند \fB*\fR، \fB?\fR و \fB[]\fR پشتیبانی می‌کند. با این حال، برای جلوگیری از بسط تصادفی الگوهای glob توسط شل پیش از پردازش Cargo، باید در اطراف هر الگو از علامت‌های نقل‌قول تکی یا جفتی استفاده کنید. .RE.SS "گزینه‌های کامپایل (Compilation Options)" .sp \fB\-\-target\fR \fItriple\fR .RS 4 برای معماری مقصد مشخص‌شده منتشر می‌کند. این پرچم را می‌توان چندین بار مشخص کرد. پیش‌فرض، معماری میزبان است. قالب کلی سه‌گانه (triple) به این صورت است: \fB\-\-\-\fR\&. .sp مقدارهای ممکن: .sp .RS 4 \h'-04'\(bu\h'+03'هر مقصد پشتیبانی‌شده در \fBrustc \-\-print target\-list\fR\&. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fB"host\-tuple"\fR، که در درون با مقصد میزبان جایگزین خواهد شد. این گزینه به ویژه زمانی مفید است که در حال کامپایل متقاطع (cross-compiling) برخی crateها هستید و نمی‌خواهید ماشین میزبان خود را به عنوان یک مقصد مشخص کنید (برای نمونه، یک \fBxtask\fR در پروژه‌ای مشترک که ممکن است توسط چندین میزبان مختلف توسعه داده شود). .RE .sp .RS 4 \h'-04'\(bu\h'+03'مسیری به یک مشخصات مقصد سفارشی. برای اطلاعات بیشتر \fICustom Target Lookup Path\fR را ببینید. .RE .sp این مقدار همچنین می‌تواند با مقدار پیکربندی \fBbuild.target\fR مشخص شود\&. .sp توجه داشته باشید که تعیین این پرچم باعث می‌شود Cargo در حالت متفاوتی اجرا شود که در آن مصنوعات (artifacts) مقصد در یک دایرکتوری جداگانه قرار می‌گیرند. برای جزئیات بیشتر، مستندات \fIbuild cache\fR را ببینید. .RE .sp \fB\-\-target\-dir\fR \fIdirectory\fR .RS 4 دایرکتوری برای همهٔ مصنوعات و فایل‌های میانی تولیدشده. همچنین می‌تواند با متغیر محیطی \fBCARGO_TARGET_DIR\fR یا مقدار پیکربندی \fBbuild.target\-dir\fR مشخص شود\&. پیش‌فرض آن دایرکتوری \fBtarget\fR در ریشهٔ فضای کاری (workspace) است. .RE .SS "انتخاب ویژگی‌ها (Feature Selection)" پرچم‌های ویژگی به شما اجازه می‌دهند تعیین کنید کدام ویژگی‌ها فعال باشند. هنگامی که هیچ گزینهٔ ویژگی مشخص نشده باشد، ویژگی \fBdefault\fR برای هر بستهٔ انتخاب‌شده فعال می‌شود. .sp برای جزئیات بیشتر، \fIمستندات ویژگی‌ها\fR را ببینید. .sp \fB\-F\fR \fIfeatures\fR, \fB\-\-features\fR \fIfeatures\fR .RS 4 فهرستی از ویژگی‌ها جداشده با فاصله یا کاما برای فعال‌سازی. ویژگی‌های اعضای فضای کاری را می‌توان با نحو \fBpackage\-name/feature\-name\fR فعال کرد. این پرچم را می‌توان چندین بار مشخص کرد که تمام ویژگی‌های مشخص‌شده را فعال می‌کند. .RE .sp \fB\-\-all\-features\fR .RS 4 تمام ویژگی‌های موجود در همهٔ بسته‌های انتخاب‌شده را فعال می‌کند. .RE .sp \fB\-\-no\-default\-features\fR .RS 4 ویژگی \fBdefault\fR بسته‌های انتخاب‌شده را فعال نمی‌کند. .RE .SS "گزینه‌های مانیفست (Manifest Options)" .sp \fB\-\-manifest\-path\fR \fIpath\fR .RS 4 مسیر فایل \fBCargo.toml\fR. به‌طور پیش‌فرض، Cargo فایل \fBCargo.toml\fR را در دایرکتوری جاری یا هر یک از دایرکتوری‌های والد جستجو می‌کند. .RE .sp \fB\-\-locked\fR .RS 4 تضمین می‌کند که دقیقاً همان وابستگی‌ها و نسخه‌هایی به کار می‌روند که در زمان تولید اولیهٔ فایل موجود \fBCargo.lock\fR ثبت شده بودند. در صورت وقوع هر یک از حالت‌های زیر، Cargo با یک خطا خارج خواهد شد: .sp .RS 4 \h'-04'\(bu\h'+03'فایل lock وجود نداشته باشد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'‏Cargo به دلیل حل وابستگی متفاوت، برای تغییر دادن فایل lock تلاش کند. .RE .sp این گزینه می‌تواند در محیط‌هایی که ساخت‌های قطعی (deterministic builds) مد نظر است، مانند خطوط لولهٔ یکپارچه‌سازی مداوم (CI) استفاده شود. .RE .sp \fB\-\-offline\fR .RS 4 از دسترسی Cargo به شبکه به هر دلیلی جلوگیری می‌کند. بدون این پرچم، اگر Cargo نیاز به دسترسی به شبکه داشته باشد و شبکه در دسترس نباشد، با یک خطا متوقف خواهد شد. با این پرچم، Cargo در صورت امکان تلاش می‌کند بدون شبکه به کار خود ادامه دهد. .sp توجه داشته باشید که این ممکن است به حل وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به crateهایی که به‌صورت محلی بارگیری شده‌اند محدود می‌کند، حتی اگر طبق نسخهٔ محلی نمایه (index)، نسخهٔ جدیدتری موجود باشد. برای بارگیری وابستگی‌ها پیش از رفتن به حالت آفلاین، دستور \fBcargo\-fetch\fR(1) را ببینید. .sp همچنین می‌تواند با مقدار پیکربندی \fBnet.offline\fR مشخص شود\&. .RE .sp \fB\-\-frozen\fR .RS 4 معادل مشخص کردن هم‌زمان هر دو پرچم \fB\-\-locked\fR و \fB\-\-offline\fR است\&. .RE.SS "گزینه‌های گوناگون (Miscellaneous Options)" .sp \fB\-j\fR \fIN\fR, \fB\-\-jobs\fR \fIN\fR .RS 4 تعداد کارهای موازی برای اجرا. همچنین می‌تواند با \fIمقدار پیکربندی\fR \fBbuild.jobs\fR \& مشخص شود. پیش‌فرض آن تعداد CPUهای منطقی است. اگر منفی باشد، حداکثر تعداد کارهای موازی را روی تعداد CPUهای منطقی به‌علاوهٔ مقدار ارائه‌شده تنظیم می‌کند. اگر رشتهٔ \fBdefault\fR ارائه شود، مقدار را به حالت پیش‌فرض بازمی‌گرداند. نباید 0 باشد. .RE .sp \fB\-\-keep\-going\fR .RS 4 تا جای ممکن بیشترین تعداد کریت (crate) در گراف وابستگی را می‌سازد، به جای اینکه با شکست اولین مورد در ساخت، فرایند متوقف شود. .sp برای مثال اگر بستهٔ کنونی به وابستگی‌های \fBfails\fR و \fBworks\fR وابسته باشد که ساخت یکی از آن‌ها با شکست مواجه می‌شود، \fBcargo publish \-j1\fR ممکن است موردی را که موفق می‌شود بسازد یا نسازد (بسته به اینکه Cargo کدام‌یک از دو ساخت را ابتدا برای اجرا برگزیده باشد)، در حالی که \fBcargo publish \-j1 \-\-keep\-going\fR قطعاً هر دو ساخت را اجرا خواهد کرد، حتی اگر موردی که ابتدا اجرا می‌شود شکست بخورد. .RE .SS "گزینه‌های نمایش (Display Options)" .sp \fB\-v\fR, \fB\-\-verbose\fR .RS 4 استفاده از خروجی با جزئیات بیشتر. برای خروجی \[lq]بسیار پرجزئیات\[rq] می‌تواند دو بار مشخص شود که شامل اطلاعات اضافی مانند هشدارهای وابستگی و خروجی اسکریپت ساخت است. همچنین می‌تواند با \fIمقدار پیکربندی\fR \fBterm.verbose\fR \& مشخص شود. .RE .sp \fB\-q\fR, \fB\-\-quiet\fR .RS 4 پیام‌های لاگ cargo را چاپ نمی‌کند. همچنین می‌تواند با \fIمقدار پیکربندی\fR \fBterm.quiet\fR \& مشخص شود. .RE .sp \fB\-\-color\fR \fIwhen\fR .RS 4 زمان استفاده از خروجی رنگی را کنترل می‌کند. مقادیر معتبر: .sp .RS 4 \h'-04'\(bu\h'+03'\fBauto\fR (پیش‌فرض): به‌طور خودکار وجود پشتیبانی از رنگ در ترمینال را تشخیص می‌دهد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBalways\fR: همیشه رنگ‌ها را نمایش می‌دهد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBnever\fR: هرگز رنگ‌ها را نمایش نمی‌دهد. .RE .sp همچنین می‌تواند با \fIمقدار پیکربندی\fR \fBterm.color\fR \& مشخص شود. .RE .SS "گزینه‌های عمومی (Common Options)" .sp \fB+\fR\fItoolchain\fR .RS 4 اگر Cargo با rustup نصب شده باشد و اولین آرگومان \fBcargo\fR با \fB+\fR شروع شود، به عنوان نام زنجیره ابزار (toolchain) ابزار rustup تفسیر خواهد شد (مانند \fB+stable\fR یا \fB+nightly\fR). برای اطلاعات بیشتر در مورد چگونگی کارکرد بازنویسی زنجیره ابزار، به \fIمستندات rustup\fR مراجعه کنید. .RE .sp \fB\-\-config\fR \fIKEY=VALUE\fR یا \fIPATH\fR .RS 4 یک مقدار پیکربندی Cargo را بازنویسی می‌کند. آرگومان باید در ساختار دستوری TOML به‌صورت \fBKEY=VALUE\fR باشد، یا به عنوان مسیر یک فایل پیکربندی اضافی ارائه شود. این پرچم می‌تواند چندین بار مشخص شود. برای اطلاعات بیشتر به \fIبخش بازنویسی‌های خط فرمان\fR مراجعه کنید. .RE .sp \fB\-C\fR \fIPATH\fR .RS 4 دایرکتوری کاری فعلی را پیش از اجرای هرگونه عملیات مشخص‌شده تغییر می‌دهد. این موضوع مواردی از قبیل مکانی که cargo به‌طور پیش‌فرض به دنبال مانیفست پروژه (\fBCargo.toml\fR) می‌گردد، و همچنین دایرکتوری‌های جستجو شده برای کشف \fB\&.cargo/config.toml\fR را تحت تأثیر قرار می‌دهد. این گزینه باید پیش از نام دستور قرار گیرد، برای مثال \fBcargo \-C path/to/my\-project build\fR\&. .sp این گزینه تنها در \fIکانال nightly\fR در دسترس است و برای فعال‌سازی به پرچم \fB\-Z unstable\-options\fR نیاز دارد (به \fI#10098\fR مراجعه کنید). .RE .sp \fB\-h\fR, \fB\-\-help\fR .RS 4 اطلاعات راهنما را چاپ می‌کند. .RE .sp \fB\-Z\fR \fIflag\fR .RS 4 پرچم‌های ناپایدار (فقط ویژهٔ nightly) برای Cargo. برای جزئیات بیشتر، \fBcargo \-Z help\fR را اجرا کنید. .RE.SH "محیط (ENVIRONMENT)" برای جزئیات درباره متغیرهای محیطی که Cargo می‌خواند، \fIمرجع\fR را ببینید. .SH "وضعیت خروج (EXIT STATUS)" .sp .RS 4 \h'-04'\(bu\h'+03'\fB0\fR: اجرای Cargo با موفقیت انجام شد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fB101\fR: اجرای Cargo ناموفق بود و کامل نشد. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 \h'-04' 1.\h'+01'انتشار بسته فعلی: .sp .RS 4 .nf cargo publish .fi .RE .RE .SH "همچنین ببینید (SEE ALSO)" \fBcargo\fR(1), \fBcargo\-package\fR(1), \fBcargo\-login\fR(1)