| CARGO-RUN(1) | General Commands Manual | CARGO-RUN(1) |
نام (NAME)
cargo-run - اجرای باینری یا مثال بسته فعلی در پروژههای Rust
خلاصه دستور (SYNOPSIS)
cargo run [گزینهها] [-- آرگومانها]
توضیحات (DESCRIPTION)
یک فایل اجرایی (باینری) یا مثال از بسته محلی را اجرا میکند.
تمام آرگومانهایی که پس از دو خط تیره (--) میآیند، به باینری در حال اجرا منتقل میشوند. اگر آرگومانها را هم به Cargo و هم به برنامه باینری ارسال میکنید، موارد بعد از -- به باینری و موارد قبل از آن به Cargo تحویل داده میشوند.
برخلاف cargo-test(1) و cargo-bench(1)، دستور cargo run دایرکتوری کاری فایل باینری در حال اجرا را روی دایرکتوری کاری فعلی تنظیم میکند؛ دقیقاً همانند زمانی که برنامه مستقیماً در شل اجرا میشود.
گزینهها (OPTIONS)
انتخاب بسته (Package Selection)
بهطور پیشفرض، بسته موجود در دایرکتوری کاری فعلی انتخاب میشود. از فلگ -p میتوان برای انتخاب بستهای متفاوت در فضای کاری (workspace) استفاده کرد.
-p spec, --package spec
انتخاب هدف (Target Selection)
هنگامی که هیچ گزینه انتخاب هدفی مشخص نشده باشد، cargo run هدف باینری را اجرا میکند. اگر چندین هدف باینری وجود داشته باشد، باید با ارسال فلگ هدف یکی را انتخاب کنید. همچنین میتوانید فیلد default-run را در بخش [package] فایل Cargo.toml مشخص کنید تا نام باینری پیشفرض برای اجرا تعیین شود.
--bin name
--example name
انتخاب ویژگیها (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
گزینههای کامپایل (Compilation Options)
--target triple
مقادیر ممکن:
این مورد را میتوان از طریق مقدار پیکربندی build.target در config https://doc.rust-lang.org/cargo/reference/config.html نیز تنظیم کرد.
توجه داشته باشید که مشخص کردن این فلگ باعث میشود Cargo در حالت متفاوتی اجرا شود که در آن خروجیهای هدف در دایرکتوری جداگانهای قرار میگیرند. برای جزئیات بیشتر به مستندات build cache https://doc.rust-lang.org/cargo/reference/build-cache.html مراجعه کنید.
-r, --release
--profile name
--timings
یک فایل به نام cargo-timing.html در پایان ساخت در دایرکتوری target/cargo-timings نوشته خواهد شد. در صورت تمایل به مشاهده اجرای قبلی، گزارش دیگری نیز همراه با برچسب زمان در نام فایل ذخیره میشود. این گزارشها فقط برای مطالعه توسط انسان مناسب هستند و دادههای زمانبندی ماشینخوان ارائه نمیدهند.
گزینههای خروجی (Output Options)
--target-dir directory
گزینههای نمایش (Display Options)
-v, --verbose
-q, --quiet
--color when
همچنین با مقدار پیکربندی term.color در config https://doc.rust-lang.org/cargo/reference/config.html قابل تنظیم است.
--message-format fmt
گزینههای مانیفست (Manifest Options)
--manifest-path path
--ignore-rust-version
--locked
این گزینه میتواند در محیطهایی که بیلدهای قطعی و تکرارپذیر مورد نیاز است، مانند خطوط لوله CI استفاده شود.
--offline
توجه داشته باشید که این ممکن است به تفکیک وابستگی متفاوتی نسبت به حالت آنلاین منجر شود. Cargo خود را به کریتهایی که بهصورت محلی بارگیری شدهاند محدود میکند، حتی اگر نسخه جدیدتری بر اساس کپی محلی فهرست موجود باشد. برای بارگیری وابستگیها قبل از آفلاین شدن، دستور cargo-fetch(1) را ببینید.
همچنین با مقدار پیکربندی net.offline در config https://doc.rust-lang.org/cargo/reference/config.html قابل تعیین است.
--frozen
گزینههای عمومی (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
سایر گزینهها (Miscellaneous Options)
-j N, --jobs N
--keep-going
برای مثال اگر بسته فعلی به دو وابستگی fails و works وابسته باشد که ساخت یکی از آنها با شکست مواجه میشود، cargo run -j1 ممکن است موردی را که با موفقیت ساخته میشود بسازد یا نسازد (بسته به این که Cargo ساخت کدامیک را ابتدا انتخاب کرده است)، در حالی که cargo run -j1 --keep-going قطعاً هر دو را اجرا خواهد کرد، حتی اگر موردی که اول اجرا شده شکست بخورد.
محیط (ENVIRONMENT)
برای جزئیات بیشتر درباره متغیرهای محیطی که Cargo میخواند، به مرجع https://doc.rust-lang.org/cargo/reference/environment-variables.html مراجعه کنید.
وضعیت خروج (EXIT STATUS)
مثالها (EXAMPLES)
cargo run
cargo run --example exname -- --exoption exarg1 exarg2