'\" t .TH "CARGO\-RUN" "1" .nh .ad l .ss \n[.ss] 0 .SH "نام (NAME)" cargo\-run \- اجرای باینری یا مثال بسته فعلی در پروژه‌های Rust .SH "خلاصه دستور (SYNOPSIS)" \fBcargo run\fR [\fIگزینه‌ها\fR] [\fB\-\-\fR \fIآرگومان‌ها\fR] .SH "توضیحات (DESCRIPTION)" یک فایل اجرایی (باینری) یا مثال از بسته محلی را اجرا می‌کند. .sp تمام آرگومان‌هایی که پس از دو خط تیره (\fB\-\-\fR) می‌آیند، به باینری در حال اجرا منتقل می‌شوند. اگر آرگومان‌ها را هم به Cargo و هم به برنامه باینری ارسال می‌کنید، موارد بعد از \fB\-\-\fR به باینری و موارد قبل از آن به Cargo تحویل داده می‌شوند. .sp برخلاف \fBcargo\-test\fR(1) و \fBcargo\-bench\fR(1)، دستور \fBcargo run\fR دایرکتوری کاری فایل باینری در حال اجرا را روی دایرکتوری کاری فعلی تنظیم می‌کند؛ دقیقاً همانند زمانی که برنامه مستقیماً در شل اجرا می‌شود. .SH "گزینه‌ها (OPTIONS)" .SS "انتخاب بسته (Package Selection)" به‌طور پیش‌فرض، بسته موجود در دایرکتوری کاری فعلی انتخاب می‌شود. از فلگ \fB\-p\fR می‌توان برای انتخاب بسته‌ای متفاوت در فضای کاری (workspace) استفاده کرد. .sp \fB\-p\fR \fIspec\fR, \fB\-\-package\fR \fIspec\fR .RS 4 بسته‌ای که باید اجرا شود. برای آگاهی از قالب SPEC به \fBcargo\-pkgid\fR(1) مراجعه کنید. .RE .SS "انتخاب هدف (Target Selection)" هنگامی که هیچ گزینه انتخاب هدفی مشخص نشده باشد، \fBcargo run\fR هدف باینری را اجرا می‌کند. اگر چندین هدف باینری وجود داشته باشد، باید با ارسال فلگ هدف یکی را انتخاب کنید. همچنین می‌توانید فیلد \fBdefault\-run\fR را در بخش \fB[package]\fR فایل \fBCargo.toml\fR مشخص کنید تا نام باینری پیش‌فرض برای اجرا تعیین شود. .sp \fB\-\-bin\fR \fIname\fR .RS 4 اجرای باینری مشخص‌شده. .RE .sp \fB\-\-example\fR \fIname\fR .RS 4 اجرای مثال مشخص‌شده. .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 "گزینه‌های کامپایل (Compilation Options)" .sp \fB\-\-target\fR \fItriple\fR .RS 4 اجرا برای معماری هدف مشخص‌شده. پیش‌فرض، معماری میزبان (host) است. ساختار کلی سه‌گانه (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) برخی از کریت‌ها هستید و نمی‌خواهید ماشین میزبان خود را صراحتاً به عنوان هدف تعیین کنید (برای مثال، یک \fBxtask\fR در پروژه‌ای مشترک که ممکن است روی میزبان‌های متعددی توسعه داده شود). .RE .sp .RS 4 \h'-04'\(bu\h'+03'مسیری به یک مشخصات هدف سفارشی. برای اطلاعات بیشتر به \fICustom Target Lookup Path\fR مراجعه کنید. .RE .sp این مورد را می‌توان از طریق مقدار پیکربندی \fBbuild.target\fR در \fIconfig\fR نیز تنظیم کرد. .sp توجه داشته باشید که مشخص کردن این فلگ باعث می‌شود Cargo در حالت متفاوتی اجرا شود که در آن خروجی‌های هدف در دایرکتوری جداگانه‌ای قرار می‌گیرند. برای جزئیات بیشتر به مستندات \fIbuild cache\fR مراجعه کنید. .RE .sp \fB\-r\fR, \fB\-\-release\fR .RS 4 اجرای مصنوعات بهینه‌سازی‌شده با پروفایل \fBrelease\fR. همچنین گزینه \fB\-\-profile\fR را برای انتخاب یک پروفایل خاص بر اساس نام ببینید. .RE .sp \fB\-\-profile\fR \fIname\fR .RS 4 اجرا با پروفایل داده‌شده. برای اطلاعات بیشتر درباره پروفایل‌ها به \fIمرجع\fR مراجعه کنید. .RE .sp \fB\-\-timings\fR .RS 4 نمایش اطلاعات مربوط به مدت زمان هر مرحله از کامپایل و ردیابی اطلاعات همزمانی در طول زمان. .sp یک فایل به نام \fBcargo\-timing.html\fR در پایان ساخت در دایرکتوری \fBtarget/cargo\-timings\fR نوشته خواهد شد. در صورت تمایل به مشاهده اجرای قبلی، گزارش دیگری نیز همراه با برچسب زمان در نام فایل ذخیره می‌شود. این گزارش‌ها فقط برای مطالعه توسط انسان مناسب هستند و داده‌های زمان‌بندی ماشین‌خوان ارائه نمی‌دهند. .RE .SS "گزینه‌های خروجی (Output Options)" .sp \fB\-\-target\-dir\fR \fIdirectory\fR .RS 4 دایرکتوری مربوط به تمامی خروجی‌های تولیدشده و فایل‌های میانی. همچنین می‌تواند با متغیر محیطی \fBCARGO_TARGET_DIR\fR یا مقدار پیکربندی \fBbuild.target\-dir\fR در \fIconfig\fR مشخص شود. پیش‌فرض، پوشه \fBtarget\fR در ریشه فضای کاری است. .RE .SS "گزینه‌های نمایش (Display Options)" .sp \fB\-v\fR, \fB\-\-verbose\fR .RS 4 استفاده از خروجی با جزئیات. می‌توان این گزینه را دو بار برای خروجی بسیار پرجزئیات مشخص کرد که شامل خروجی‌های اضافی مانند هشدارهای وابستگی و خروجی اسکریپت ساخت است. همچنین با مقدار پیکربندی \fBterm.verbose\fR در \fIconfig\fR قابل تعیین است. .RE .sp \fB\-q\fR, \fB\-\-quiet\fR .RS 4 عدم چاپ پیام‌های لاگ cargo. همچنین با مقدار پیکربندی \fBterm.quiet\fR در \fIconfig\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 همچنین با مقدار پیکربندی \fBterm.color\fR در \fIconfig\fR قابل تنظیم است. .RE .sp \fB\-\-message\-format\fR \fIfmt\fR .RS 4 قالب خروجی پیام‌های عیب‌یابی (diagnostics). می‌تواند چندین بار مشخص شود و شامل مقادیر جداشده با کاما است. مقادیر معتبر: .sp .RS 4 \h'-04'\(bu\h'+03'\fBhuman\fR (پیش‌فرض): نمایش در قالب متنی خوانا برای انسان. با \fBshort\fR و \fBjson\fR تداخل دارد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBshort\fR: صدور پیام‌های متنی کوتاه‌تر و خوانا برای انسان. با \fBhuman\fR و \fBjson\fR تداخل دارد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\fR: صدور پیام‌های JSON به خروجی استاندارد (stdout). برای جزئیات بیشتر به \fIمرجع\fR مراجعه کنید. با \fBhuman\fR و \fBshort\fR تداخل دارد. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\-diagnostic\-short\fR: اطمینان حاصل می‌کند که فیلد \fBrendered\fR در پیام‌های JSON شامل رندر کوتاه (short) از rustc باشد. با \fBhuman\fR یا \fBshort\fR قابل استفاده نیست. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\-diagnostic\-rendered\-ansi\fR: اطمینان حاصل می‌کند که فیلد \fBrendered\fR در پیام‌های JSON حاوی کدهای رنگی ANSI درون‌متنی جهت رعایت طرح رنگ پیش‌فرض rustc باشد. با \fBhuman\fR یا \fBshort\fR قابل استفاده نیست. .RE .sp .RS 4 \h'-04'\(bu\h'+03'\fBjson\-render\-diagnostics\fR: به Cargo دستور می‌دهد که پیام‌های عیب‌یابی rustc را در پیام‌های JSON چاپ نکند، بلکه خود Cargo پیام‌های JSON ارائه‌شده از rustc را رندر کند. پیام‌های عیب‌یابی JSON خود Cargo و موارد دیگر همچنان صادر می‌شوند. با \fBhuman\fR یا \fBshort\fR قابل استفاده نیست. .RE .RE .SS "گزینه‌های مانیفست (Manifest Options)" .sp \fB\-\-manifest\-path\fR \fIpath\fR .RS 4 مسیر فایل \fBCargo.toml\fR. به‌طور پیش‌فرض، Cargo به دنبال فایل \fBCargo.toml\fR در دایرکتوری فعلی یا هر یک از دایرکتوری‌های والد می‌گردد. .RE .sp \fB\-\-ignore\-rust\-version\fR .RS 4 نادیده گرفتن مشخصات \fBrust\-version\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 این گزینه می‌تواند در محیط‌هایی که بیلد‌های قطعی و تکرارپذیر مورد نیاز است، مانند خطوط لوله CI استفاده شود. .RE .sp \fB\-\-offline\fR .RS 4 از دسترسی Cargo به شبکه به هر دلیلی جلوگیری می‌کند. بدون این فلگ، اگر Cargo نیاز به دسترسی به شبکه داشته باشد و شبکه در دسترس نباشد، با خطا متوقف می‌شود. با این فلگ، Cargo در صورت امکان تلاش می‌کند بدون شبکه به کار خود ادامه دهد. .sp توجه داشته باشید که این ممکن است به تفکیک وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به کریت‌هایی که به‌صورت محلی بارگیری شده‌اند محدود می‌کند، حتی اگر نسخه جدیدتری بر اساس کپی محلی فهرست موجود باشد. برای بارگیری وابستگی‌ها قبل از آفلاین شدن، دستور \fBcargo\-fetch\fR(1) را ببینید. .sp همچنین با مقدار پیکربندی \fBnet.offline\fR در \fIconfig\fR قابل تعیین است. .RE .sp \fB\-\-frozen\fR .RS 4 معادل مشخص کردن هم‌زمان هر دو گزینه \fB\-\-locked\fR و \fB\-\-offline\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 .SS "سایر گزینه‌ها (Miscellaneous Options)" .sp \fB\-j\fR \fIN\fR, \fB\-\-jobs\fR \fIN\fR .RS 4 تعداد وظایف موازی برای اجرا. همچنین می‌تواند با مقدار پیکربندی \fBbuild.jobs\fR در \fIconfig\fR مشخص شود. پیش‌فرض، تعداد پردازنده‌های منطقی است. اگر عدد منفی باشد، حداکثر تعداد وظایف موازی را روی تعداد پردازنده‌های منطقی به‌علاوه مقدار ارائه‌شده تنظیم می‌کند. اگر رشته \fBdefault\fR داده شود، مقدار را به حالت پیش‌فرض بازمی‌گرداند. نباید 0 باشد. .RE .sp \fB\-\-keep\-going\fR .RS 4 کامپایل بیشترین تعداد ممکن از کریت‌ها در گراف وابستگی، به جای متوقف کردن ساخت با بروز اولین خطا در کامپایل. .sp برای مثال اگر بسته فعلی به دو وابستگی \fBfails\fR و \fBworks\fR وابسته باشد که ساخت یکی از آن‌ها با شکست مواجه می‌شود، \fBcargo run \-j1\fR ممکن است موردی را که با موفقیت ساخته می‌شود بسازد یا نسازد (بسته به این که Cargo ساخت کدام‌یک را ابتدا انتخاب کرده است)، در حالی که \fBcargo run \-j1 \-\-keep\-going\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 run .fi .RE .RE .sp .RS 4 \h'-04' 2.\h'+01'اجرای یک مثال با آرگومان‌های اضافی: .sp .RS 4 .nf cargo run \-\-example exname \-\- \-\-exoption exarg1 exarg2 .fi .RE .RE .SH "همچنین ببینید (SEE ALSO)" \fBcargo\fR(1), \fBcargo\-build\fR(1)