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

cargo-new - ایجاد یک بسته جدید Cargo

cargo new [گزینه‌ها] مسیر

این دستور یک بسته جدید Cargo در دایرکتوری داده‌شده ایجاد می‌کند. این شامل یک الگوی ساده با مانیفست Cargo.toml، فایل منبع نمونه، و یک فایل نادیده‌گرفتن (ignore) سامانهٔ کنترل نسخه (VCS) است. اگر دایرکتوری از پیش در یک مخزن VCS نباشد، یک مخزن جدید ایجاد می‌شود (به --vcs در زیر مراجعه کنید).

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

--bin

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

--lib

ایجاد یک بسته با هدف کتابخانه‌ای (library target) (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). ممکن است برای دریافت خروجی «بسیار پرگو» دو بار مشخص شود که شامل اطلاعات خروجی اضافی از جمله هشدارهای وابستگی‌ها و خروجی اسکریپت ساخت خواهد بود. همچنین می‌تواند از طریق مقدار پیکربندی term.verbose https://doc.rust-lang.org/cargo/reference/config.html تعیین شود.

-q, --quiet

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

--color when

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

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

+toolchain

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

--config KEY=VALUE یا PATH

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

-C PATH

دایرکتوری کاری فعلی را قبل از اجرای هر عملیات مشخص‌شده تغییر می‌دهد. این گزینه بر مواردی چون محلی که cargo به‌طور پیش‌فرض برای مانیفست پروژه (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: اجرای Cargo موفقیت‌آمیز بود.
•101: اجرای Cargo با شکست مواجه شد.

1.ایجاد یک بسته دودویی (binary) Cargo در دایرکتوری مشخص‌شده:
cargo new foo

cargo(1), cargo-init(1)