'\" t .TH "CARGO" "1" .nh .ad l .ss \n[.ss] 0 .SH "نام (NAME)" cargo \- مدیر بسته و سیستم ساخت رسمی زبان برنامه‌نویسی Rust .SH "خلاصه دستور (SYNOPSIS)" \fBcargo\fR [\fIگزینه‌ها\fR] \fIدستور\fR [\fIآرگومان‌ها\fR] .br \fBcargo\fR [\fIگزینه‌ها\fR] \fB\-\-version\fR .br \fBcargo\fR [\fIگزینه‌ها\fR] \fB\-\-list\fR .br \fBcargo\fR [\fIگزینه‌ها\fR] \fB\-\-help\fR .br \fBcargo\fR [\fIگزینه‌ها\fR] \fB\-\-explain\fR \fIکد\fR .SH "توضیحات (DESCRIPTION)" این برنامه مدیر بسته و ابزار ساخت زبان برنامه‌نویسی Rust است، قابل دسترس در \&. .sp \fIدستور\fR می‌تواند یکی از موارد زیر باشد: .sp .RS 4 \h'-04'\(bu\h'+03'دستورات داخلی، به بخش زیر مراجعه کنید .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fIنام‌های مستعار (aliases)\fR .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fIابزارهای خارجی\fR .RE .SH "دستورات (COMMANDS)" .SS "دستورات ساخت (Build Commands)" \fBcargo\-bench\fR(1) .br \ \ \ \ اجرای بنچ‌مارک‌ها و آزمون‌های کارایی یک بسته. .sp \fBcargo\-build\fR(1) .br \ \ \ \ کامپایل یک بسته. .sp \fBcargo\-check\fR(1) .br \ \ \ \ بررسی بسته محلی و تمامی وابستگی‌های آن از نظر خطا بدون تولید فایل نهایی. .sp \fBcargo\-clean\fR(1) .br \ \ \ \ حذف مصنوعات و فایل‌های بیلد تولیدشده قبلی توسط Cargo. .sp \fBcargo\-doc\fR(1) .br \ \ \ \ ساخت مستندات بسته. .sp \fBcargo\-fetch\fR(1) .br \ \ \ \ دریافت وابستگی‌های بسته از شبکه. .sp \fBcargo\-fix\fR(1) .br \ \ \ \ اصلاح خودکار هشدارهای لینت گزارش‌شده توسط rustc. .sp \fBcargo\-run\fR(1) .br \ \ \ \ اجرای یک فایل باینری یا مثال از بسته محلی. .sp \fBcargo\-rustc\fR(1) .br \ \ \ \ کامپایل یک بسته و ارسال گزینه‌های اضافی به کامپایلر. .sp \fBcargo\-rustdoc\fR(1) .br \ \ \ \ ساخت مستندات بسته با استفاده از فلگ‌های سفارشی مشخص‌شده. .sp \fBcargo\-test\fR(1) .br \ \ \ \ اجرای آزمون‌های واحد و یکپارچگی یک بسته. .SS "دستورات مانیفست (Manifest Commands)" \fBcargo\-add\fR(1) .br \ \ \ \ افزودن وابستگی‌ها به فایل مانیفست \fBCargo.toml\fR. .sp \fBcargo\-generate\-lockfile\fR(1) .br \ \ \ \ تولید فایل \fBCargo.lock\fR برای یک پروژه. .sp \fBcargo\-info\fR(1) .br \ \ \ \ نمایش اطلاعات مربوط به یک بسته در رجیستری. رجیستری پیش‌فرض crates.io است. .sp \fBcargo\-locate\-project\fR(1) .br \ \ \ \ چاپ مکان فایل \fBCargo.toml\fR در قالب خروجی JSON. .sp \fBcargo\-metadata\fR(1) .br \ \ \ \ چاپ خروجی وابستگی‌های حل‌شده بسته در قالبی خوانا برای ماشین. .sp \fBcargo\-pkgid\fR(1) .br \ \ \ \ چاپ شناسه کامل و دقیق مشخصات بسته. .sp \fBcargo\-remove\fR(1) .br \ \ \ \ حذف وابستگی‌ها از فایل مانیفست \fBCargo.toml\fR. .sp \fBcargo\-tree\fR(1) .br \ \ \ \ نمایش ساختار درختی گراف وابستگی‌ها. .sp \fBcargo\-update\fR(1) .br \ \ \ \ به‌روزرسانی وابستگی‌های ثبت‌شده در فایل قفل محلی. .sp \fBcargo\-vendor\fR(1) .br \ \ \ \ کپی و ذخیره محلی تمامی وابستگی‌ها در پروژه. .SS "دستورات بسته (Package Commands)" \fBcargo\-init\fR(1) .br \ \ \ \ ایجاد یک بسته جدید Cargo در دایرکتوری موجود. .sp \fBcargo\-install\fR(1) .br \ \ \ \ بیلد و نصب یک باینری Rust روی سیستم. .sp \fBcargo\-new\fR(1) .br \ \ \ \ ایجاد یک بسته جدید Cargo در یک دایرکتوری تازه. .sp \fBcargo\-search\fR(1) .br \ \ \ \ جستجوی بسته‌ها در crates.io. .sp \fBcargo\-uninstall\fR(1) .br \ \ \ \ حذف یک باینری Rust از سیستم. .SS "دستورات انتشار (Publishing Commands)" \fBcargo\-login\fR(1) .br \ \ \ \ ذخیره محلی توکن API رجیستری. .sp \fBcargo\-logout\fR(1) .br \ \ \ \ حذف محلی توکن API رجیستری. .sp \fBcargo\-owner\fR(1) .br \ \ \ \ مدیریت مالکان یک کریت در رجیستری. .sp \fBcargo\-package\fR(1) .br \ \ \ \ بسته‌بندی بسته محلی در قالب یک فایل tarball قابل توزیع. .sp \fBcargo\-publish\fR(1) .br \ \ \ \ آپلود و انتشار یک بسته در رجیستری. .sp \fBcargo\-yank\fR(1) .br \ \ \ \ خارج کردن یک نسخه کریت از ایندکس رجیستری. .SS "دستورات گزارش‌گیری (Report Commands)" \fBcargo\-report\fR(1) .br \ \ \ \ تولید و نمایش انواع مختلف گزارش‌ها. .sp \fBcargo\-report\-future\-incompatibilities\fR(1) .br \ \ \ \ گزارش کریت‌هایی که ممکن است در آینده کامپایل نشوند. .SS "دستورات عمومی (General Commands)" \fBcargo\-help\fR(1) .br \ \ \ \ نمایش اطلاعات راهنمای مربوط به Cargo. .sp \fBcargo\-version\fR(1) .br \ \ \ \ نمایش اطلاعات نسخه. .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های ویژه (Special Options)" .sp \fB\-V\fR, \fB\-\-version\fR .RS 4 چاپ اطلاعات نسخه و خروج. اگر همراه با .B \-\-verbose استفاده شود، اطلاعات بیشتری را چاپ می‌کند. .RE .sp \fB\-\-list\fR .RS 4 فهرست کردن تمامی زیردستورهای نصب‌شده برای Cargo. در صورت استفاده با .BR \-\-verbose ، اطلاعات بیشتری نمایش داده می‌شود. .RE .sp \fB\-\-explain\fR \fIکد\fR .RS 4 اجرای دستور .B rustc \-\-explain CODE که توضیح مفصلی درباره یک پیام خطا (برای نمونه .BR E0004 ) چاپ می‌کند. .RE .SS "گزینه‌های نمایش (Display Options)" .sp \fB\-v\fR, \fB\-\-verbose\fR .RS 4 استفاده از خروجی با جزئیات بیشتر. می‌توان دو بار مشخص کرد تا خروجی بسیار پرجزئیات فعال شود که شامل مواردی مانند هشدارهای وابستگی‌ها و خروجی اسکریپت ساخت است. همچنین می‌توان با مقدار پیکربندی .B term.verbose در تنظیم کرد. .RE .sp \fB\-q\fR, \fB\-\-quiet\fR .RS 4 عدم چاپ پیام‌های لاگ cargo. همچنین می‌توان با مقدار پیکربندی .B term.quiet در تنظیم کرد. .RE .sp \fB\-\-color\fR \fIزمان\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 همچنین می‌توان با مقدار پیکربندی .B term.color در تنظیم کرد. .RE .SS "گزینه‌های مانیفست (Manifest Options)" .sp \fB\-\-locked\fR .RS 4 تضمین می‌کند که دقیقاً از همان وابستگی‌ها و نسخه‌های زمان تولید اولیه فایل .B Cargo.lock استفاده شود. در صورت بروز هر یک از شرایط زیر، Cargo با خطا متوقف می‌شود: .sp .RS 4 \h'-04'\(bu\h'+03'فایل قفل (lock file) وجود نداشته باشد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'برنامه Cargo به دلیل تغییر در حل وابستگی‌ها، تلاش کند فایل قفل را تغییر دهد. .RE .sp می‌توان از این گزینه در محیط‌هایی استفاده کرد که نیاز به ساخت‌های قطعی و تکرارپذیر دارند، مانند خط لوله‌های یکپارچه‌سازی مداوم (CI). .RE .sp \fB\-\-offline\fR .RS 4 جلوگیری از دسترسی Cargo به شبکه به هر دلیلی. بدون این فلگ، در صورت نیاز به دسترسی به شبکه و عدم اتصال، برنامه با خطا متوقف می‌شود. با این فلگ، Cargo در صورت امکان تلاش می‌کند بدون شبکه به کار خود ادامه دهد. .sp توجه داشته باشید که این ممکن است به حل وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به بسته‌هایی محدود می‌کند که به صورت محلی دانلود شده‌اند، حتی اگر نسخه جدیدتری در رونوشت محلی ایندکس وجود داشته باشد. برای دانلود وابستگی‌ها قبل از رفتن به حالت آفلاین، به دستور .B cargo\-fetch\fR(1) مراجعه کنید. .sp همچنین می‌توان با مقدار پیکربندی .B net.offline در تنظیم کرد. .RE .sp \fB\-\-frozen\fR .RS 4 معادل مشخص کردن همزمان هر دو گزینه .B \-\-locked و .BR \-\-offline \&. .RE .SS "گزینه‌های عمومی (Common Options)" .sp \fB+\fR\fItoolchain\fR .RS 4 اگر Cargo با rustup نصب شده باشد و نخستین آرگومان .B cargo با .B + آغاز شود، به عنوان نام زنجیره ابزار rustup (مانند .B +stable یا .BR +nightly ) تفسیر خواهد شد. برای اطلاعات بیشتر در مورد نحوه عملکرد بازنویسی زنجیره ابزار به .I مستندات rustup در مراجعه کنید. .RE .sp \fB\-\-config\fR \fIKEY=VALUE\fR یا \fIPATH\fR .RS 4 بازنویسی مقدار پیکربندی Cargo. آرگومان باید در قالب ساختار TOML به صورت .B KEY=VALUE یا مسیر فایل پیکربندی اضافی باشد. این گزینه می‌تواند چندین بار مشخص شود. برای اطلاعات بیشتر به .I بخش بازنویسی‌های خط فرمان در مراجعه فرمایید. .RE .sp \fB\-C\fR \fIPATH\fR .RS 4 تغییر دایرکتوری کاری جاری قبل از اجرای هرگونه عملیات مشخص‌شده. این گزینه بر مواردی چون مکان پیش‌فرضی که cargo برای مانیفست پروژه (\fBCargo.toml\fR) جستجو می‌کند و همچنین دایرکتوری‌های بررسی‌شده برای یافتن \fB\&.cargo/config.toml\fR تأثیر می‌گذارد. این گزینه باید قبل از نام دستور درج شود، برای نمونه: .BR "cargo \-C path/to/my\-project build" \&. .sp این گزینه فقط در .I کانال nightly در در دسترس است و برای فعال‌سازی نیاز به فلگ .B \-Z unstable\-options دارد (مسئله \fI#10098\fR در را ببینید). .RE .sp \fB\-h\fR, \fB\-\-help\fR .RS 4 چاپ اطلاعات راهنما. .RE .sp \fB\-Z\fR \fIflag\fR .RS 4 فلگ‌های ناپایدار (مخصوص نسخه nightly) برای Cargo. برای جزئیات دستور .B cargo \-Z help را اجرا کنید. .RE .SH "محیط (ENVIRONMENT)" برای جزئیات متغیرهای محیطی که Cargo می‌خواند به .I مرجع مستندات در مراجعه کنید. .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 "فایل‌ها (FILES)" \fB~/.cargo/\fR .br \ \ \ \ مکان پیش‌فرض برای دایرکتوری اصلی (home) برنامه Cargo که فایل‌های گوناگون را در آن ذخیره می‌کند. این مکان را می‌توان با متغیر محیطی .B CARGO_HOME تغییر داد. .sp \fB$CARGO_HOME/bin/\fR .br \ \ \ \ فایل‌های باینری نصب‌شده توسط .B cargo\-install\fR(1) در اینجا قرار می‌گیرند. در صورت استفاده از \fIrustup\fR ، فایل‌های اجرایی توزیع‌شده به همراه Rust نیز در این مسیر جای می‌گیرند. .sp \fB$CARGO_HOME/config.toml\fR .br \ \ \ \ فایل پیکربندی سراسری. برای اطلاعات بیشتر در مورد فایل‌های پیکربندی به .I مرجع مستندات در مراجعه کنید. .sp \fB\&.cargo/config.toml\fR .br \ \ \ \ برنامه Cargo به طور خودکار به دنبال فایلی به نام \fB\&.cargo/config.toml\fR در دایرکتوری جاری و تمامی دایرکتوری‌های والد می‌گردد. این فایل‌های پیکربندی با فایل پیکربندی سراسری ادغام خواهند شد. .sp \fB$CARGO_HOME/credentials.toml\fR .br \ \ \ \ اطلاعات محرمانه احراز هویت برای ورود به یک رجیستری. .sp \fB$CARGO_HOME/registry/\fR .br \ \ \ \ این دایرکتوری شامل فایل‌های دانلودشده کش از ایندکس رجیستری و تمام وابستگی‌های دانلودشده است. .sp \fB$CARGO_HOME/git/\fR .br \ \ \ \ این دایرکتوری شامل موارد دانلودشده کش از وابستگی‌های git است. .sp لطفاً توجه داشته باشید که ساختار داخلی دایرکتوری \fB$CARGO_HOME\fR هنوز تثبیت نشده است و ممکن است در آینده تغییر کند. .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 \h'-04' 1.\h'+01'بیلد و ساخت بسته محلی و تمامی وابستگی‌های آن: .sp .RS 4 .nf cargo build .fi .RE .RE .sp .RS 4 \h'-04' 2.\h'+01'بیلد و ساخت بسته با بهینه‌سازی‌ها (نسخه نهایی): .sp .RS 4 .nf cargo build \-\-release .fi .RE .RE .sp .RS 4 \h'-04' 3.\h'+01'اجرای آزمون‌ها برای یک هدف کامپایل متقاطع (Cross-compile): .sp .RS 4 .nf cargo test \-\-target i686\-unknown\-linux\-gnu .fi .RE .RE .sp .RS 4 \h'-04' 4.\h'+01'ایجاد یک بسته جدید که یک فایل اجرایی می‌سازد: .sp .RS 4 .nf cargo new foobar .fi .RE .RE .sp .RS 4 \h'-04' 5.\h'+01'ایجاد یک بسته جدید در دایرکتوری جاری: .sp .RS 4 .nf mkdir foo && cd foo cargo init . .fi .RE .RE .sp .RS 4 \h'-04' 6.\h'+01'مشاهده گزینه‌ها و نحوه استفاده از یک دستور: .sp .RS 4 .nf cargo help clean .fi .RE .RE .SH "اشکالات (BUGS)" برای گزارش و بررسی اشکالات به مراجعه کنید. .SH "همچنین ببینید (SEE ALSO)" \fBrustc\fR(1), \fBrustdoc\fR(1)