CARGO-INIT(1) General Commands Manual CARGO-INIT(1)

cargo-init - ایجاد یک بسته Cargo جدید در یک دایرکتوری موجود

cargo init [options] [path]

این دستور یک مانیفست Cargo جدید در دایرکتوری جاری ایجاد می‌کند. برای ایجاد در یک دایرکتوری مشخص، یک مسیر (path) را به عنوان آرگومان مشخص کنید.

اگر از قبل فایل‌های سورس Rust با نام‌گذاری‌های معمول در دایرکتوری وجود داشته باشند، از همان‌ها استفاده خواهد شد. در غیر این صورت، یک فایل نمونه src/main.rs ایجاد می‌شود، یا اگر --lib ارسال شده باشد، فایل src/lib.rs ایجاد خواهد شد.

اگر دایرکتوری از قبل درون یک مخزن VCS نباشد، یک مخزن جدید ایجاد می‌شود (به --vcs در زیر مراجعه کنید).

برای دستوری مشابه که یک بسته جدید را در یک دایرکتوری تازه ایجاد می‌کند، cargo-new(1) را ببینید.

--bin

یک بسته با هدف باینری (src/main.rs) ایجاد می‌کند. این رفتار پیش‌فرض است.

--lib

یک بسته با هدف کتابخانه‌ای (src/lib.rs) ایجاد می‌کند.

--edition edition

ویرایش (edition) زبان Rust مورد استفاده را مشخص می‌کند. پیش‌فرض 2024 است. مقادیر ممکن: 2015, 2018, 2021, 2024

--name name

نام بسته را تنظیم می‌کند. پیش‌فرض، نام دایرکتوری است.

--vcs vcs

یک مخزن VCS جدید برای سامانه کنترل نسخه مشخص‌شده (git، hg، pijul یا fossil) مقداردهی اولیه می‌کند یا هیچ سامانه کنترل نسخه‌ای را مقداردهی نمی‌کند (none). در صورت عدم تعیین، مقدار پیش‌فرض git یا مقدار پیکربندی cargo-new.vcs خواهد بود، و در صورتی که دایرکتوری از قبل درون یک مخزن VCS باشد مقدار none لحاظ می‌شود.

--registry registry

این گزینه فیلد publish را در Cargo.toml روی نام رجیستری ارائه‌شده تنظیم می‌کند که انتشار را تنها به همان رجیستری محدود خواهد ساخت.

نام‌های رجیستری در فایل‌های پیکربندی Cargo https://doc.rust-lang.org/cargo/reference/config.html تعریف می‌شوند. در صورت عدم تعیین، رجیستری پیش‌فرض تعیین‌شده توسط کلید پیکربندی registry.default استفاده می‌شود. اگر رجیستری پیش‌فرض تنظیم نشده باشد و از --registry نیز استفاده نشود، فیلد publish تنظیم نخواهد شد که به معنای عدم وجود محدودیت در انتشار است.

-v, --verbose

استفاده از خروجی پرگو (verbose). برای دریافت خروجی “بسیار پرگو” که شامل اطلاعات اضافی از قبیل هشدارهای وابستگی و خروجی اسکریپت ساخت است، می‌تواند دو بار مشخص شود. همچنین می‌تواند از طریق مقدار پیکربندی https://doc.rust-lang.org/cargo/reference/config.html term.verbose تعیین شود.

-q, --quiet

پیام‌های لاگ کارگو را چاپ نمی‌کند. همچنین می‌تواند از طریق مقدار پیکربندی https://doc.rust-lang.org/cargo/reference/config.html term.quiet تعیین شود.

--color when

زمان استفاده از خروجی رنگی را کنترل می‌کند. مقادیر معتبر:
•auto (پیش‌فرض): تشخیص خودکار اینکه آیا ترمینال از خروجی رنگی پشتیبانی می‌کند یا خیر.
•always: همیشه رنگ‌ها را نمایش می‌دهد.
•never: هرگز رنگ‌ها را نمایش نمی‌دهد.

همچنین می‌تواند از طریق مقدار پیکربندی https://doc.rust-lang.org/cargo/reference/config.html term.color تعیین شود.

+toolchain

اگر Cargo به وسیله rustup نصب شده باشد و اولین آرگومان cargo با + آغاز شود، به عنوان نام زنجیره ابزار (toolchain) در rustup تفسیر می‌شود (مانند +stable یا +nightly). برای اطلاعات بیشتر درباره نحوه کار بازنویسی‌های زنجیره ابزار، به مستندات rustup https://rust-lang.github.io/rustup/overrides.html مراجعه کنید.

--config KEY=VALUE or PATH

یک مقدار پیکربندی Cargo را بازنویسی می‌کند. آرگومان باید در ساختار TOML به صورت KEY=VALUE باشد، یا به عنوان مسیر یک فایل پیکربندی اضافی ارائه شود. این پرچم می‌تواند چندین بار مشخص شود. برای اطلاعات بیشتر، بخش بازنویسی‌های خط فرمان https://doc.rust-lang.org/cargo/reference/config.html#command-line-overrides را ببینید.

-C PATH

دایرکتوری کاری جاری را پیش از اجرای هرگونه عملیات مشخص‌شده تغییر می‌دهد. این گزینه بر مواردی چون محل جستجوی پیش‌فرض کارگو برای مانیفست پروژه (Cargo.toml) و دایرکتوری‌های بررسی‌شده جهت یافتن مواردی مانند .cargo/config.toml تأثیر می‌گذارد. این گزینه باید قبل از نام دستور درج شود، برای مثال cargo -C path/to/my-project build.

این گزینه فقط در کانال 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

پرچم‌های ناپایدار (فقط مخصوص nightly) برای Cargo. برای جزئیات، cargo -Z help را اجرا کنید.

برای جزئیات درباره متغیرهای محیطی که Cargo آن‌ها را می‌خواند، به مرجع https://doc.rust-lang.org/cargo/reference/environment-variables.html مراجعه کنید.

•0: کارگو با موفقیت اجرا شد.
•101: کارگو موفق به تکمیل عملیات نشد.

1.ایجاد یک بسته باینری Cargo در دایرکتوری جاری:
cargo init

cargo(1), cargo-new(1)