CARGO-INIT(1) General Commands Manual CARGO-INIT(1) نام (NAME) cargo-init - ایجاد یک بسته Cargo جدید در یک دایرکتوری موجود خلاصه دستور (SYNOPSIS) cargo init [options] [path] توضیحات (DESCRIPTION) این دستور یک مانیفست Cargo جدید در دایرکتوری جاری ایجاد می‌کند. برای ایجاد در یک دایرکتوری مشخص، یک مسیر (path) را به عنوان آرگومان مشخص کنید. اگر از قبل فایل‌های سورس Rust با نام‌گذاری‌های معمول در دایرکتوری وجود داشته باشند، از همان‌ها استفاده خواهد شد. در غیر این صورت، یک فایل نمونه src/main.rs ایجاد می‌شود، یا اگر --lib ارسال شده باشد، فایل src/lib.rs ایجاد خواهد شد. اگر دایرکتوری از قبل درون یک مخزن VCS نباشد، یک مخزن جدید ایجاد می‌شود (به --vcs در زیر مراجعه کنید). برای دستوری مشابه که یک بسته جدید را در یک دایرکتوری تازه ایجاد می‌کند، cargo-new(1) را ببینید. گزینه‌ها (OPTIONS) گزینه‌های Init (Init Options) --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 تعریف می‌شوند. در صورت عدم تعیین، رجیستری پیش‌فرض تعیین‌شده توسط کلید پیکربندی registry.default استفاده می‌شود. اگر رجیستری پیش‌فرض تنظیم نشده باشد و از --registry نیز استفاده نشود، فیلد publish تنظیم نخواهد شد که به معنای عدم وجود محدودیت در انتشار است. گزینه‌های نمایش (Display Options) -v, --verbose استفاده از خروجی پرگو (verbose). برای دریافت خروجی “بسیار پرگو” که شامل اطلاعات اضافی از قبیل هشدارهای وابستگی و خروجی اسکریپت ساخت است، می‌تواند دو بار مشخص شود. همچنین می‌تواند از طریق مقدار پیکربندی term.verbose تعیین شود. -q, --quiet پیام‌های لاگ کارگو را چاپ نمی‌کند. همچنین می‌تواند از طریق مقدار پیکربندی term.quiet تعیین شود. --color when زمان استفاده از خروجی رنگی را کنترل می‌کند. مقادیر معتبر: • auto (پیش‌فرض): تشخیص خودکار اینکه آیا ترمینال از خروجی رنگی پشتیبانی می‌کند یا خیر. • always: همیشه رنگ‌ها را نمایش می‌دهد. • never: هرگز رنگ‌ها را نمایش نمی‌دهد. همچنین می‌تواند از طریق مقدار پیکربندی term.color تعیین شود. گزینه‌های عمومی (Common Options) +toolchain اگر Cargo به وسیله rustup نصب شده باشد و اولین آرگومان cargo با + آغاز شود، به عنوان نام زنجیره ابزار (toolchain) در rustup تفسیر می‌شود (مانند +stable یا +nightly). برای اطلاعات بیشتر درباره نحوه کار بازنویسی‌های زنجیره ابزار، به مستندات rustup مراجعه کنید. --config KEY=VALUE or PATH یک مقدار پیکربندی Cargo را بازنویسی می‌کند. آرگومان باید در ساختار TOML به صورت KEY=VALUE باشد، یا به عنوان مسیر یک فایل پیکربندی اضافی ارائه شود. این پرچم می‌تواند چندین بار مشخص شود. برای اطلاعات بیشتر، بخش بازنویسی‌های خط فرمان را ببینید. -C PATH دایرکتوری کاری جاری را پیش از اجرای هرگونه عملیات مشخص‌شده تغییر می‌دهد. این گزینه بر مواردی چون محل جستجوی پیش‌فرض کارگو برای مانیفست پروژه (Cargo.toml) و دایرکتوری‌های بررسی‌شده جهت یافتن مواردی مانند .cargo/config.toml تأثیر می‌گذارد. این گزینه باید قبل از نام دستور درج شود، برای مثال cargo -C path/to/my-project build. این گزینه فقط در کانال nightly موجود است و برای فعال‌سازی به پرچم -Z unstable-options نیاز دارد (مشاهده کنید: #10098 ). -h, --help اطلاعات راهنما را چاپ می‌کند. -Z flag پرچم‌های ناپایدار (فقط مخصوص nightly) برای Cargo. برای جزئیات، cargo -Z help را اجرا کنید. محیط (ENVIRONMENT) برای جزئیات درباره متغیرهای محیطی که Cargo آن‌ها را می‌خواند، به مرجع مراجعه کنید. وضعیت خروج (EXIT STATUS) • 0: کارگو با موفقیت اجرا شد. • 101: کارگو موفق به تکمیل عملیات نشد. مثال‌ها (EXAMPLES) 1. ایجاد یک بسته باینری Cargo در دایرکتوری جاری: cargo init همچنین ببینید (SEE ALSO) cargo(1), cargo-new(1) CARGO-INIT(1)