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

cargo-pkgid - چاپ مشخصه کامل یک بسته

cargo pkgid [options] [spec]

با دریافت یک آرگومان spec، مشخصه‌ساز شناسه بسته (Package ID) کامل را برای یک بسته یا وابستگی در فضای کاری فعلی چاپ می‌کند. این دستور در صورتی که spec دارای ابهام باشد و مشخص نباشد به کدام بسته در گراف وابستگی‌ها اشاره می‌کند، خطایی ایجاد خواهد کرد. اگر هیچ spec مشخص نشود، مشخصه‌ساز بسته محلی چاپ خواهد شد.

این دستور نیازمند در دسترس بودن فایل قفل (lockfile) و واکشی شدن وابستگی‌ها است.

مشخصه‌ساز بسته شامل نام، نسخه و URL منبع است. شما مجاز هستید تا زمانی که تنها با یک بسته مطابقت داشته باشد، از مشخصه‌سازهای جزئی برای تطبیق مختصر یک بسته خاص استفاده کنید. این مشخصه‌ساز توسط بخش‌های دیگر Cargo مانند cargo-metadata(1) و پیام‌های JSON https://doc.rust-lang.org/cargo/reference/external-tools.html#json-messages صادرشده توسط Cargo نیز استفاده می‌شود.

قالب یک spec می‌تواند یکی از موارد زیر باشد:

ساختار SPEC نمونه SPEC
name bitflags
name@version bitflags@1.0.4
url https://github.com/rust-lang/cargo
url#version https://github.com/rust-lang/cargo#0.33.0
url#name https://github.com/rust-lang/crates.io-index#bitflags
url#name@version https://github.com/rust-lang/cargo#crates-io@0.21.0

دستور زبان مشخصه‌سازی در فصل Package ID Specifications https://doc.rust-lang.org/cargo/reference/pkgid-spec.html موجود است.

-p spec, --package spec

دریافت شناسه بسته برای بسته داده‌شده به جای بسته فعلی.

-v, --verbose

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

-q, --quiet

پیام‌های لاگ کارگو را چاپ نمی‌کند. همچنین می‌تواند با مقدار پیکربندی 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 مشخص شود.

--manifest-path path

مسیر فایل Cargo.toml. به طور پیش‌فرض، Cargo به دنبال فایل Cargo.toml در دایرکتوری فعلی یا هر یک از دایرکتوری‌های والد می‌گردد.

--locked

اطمینان حاصل می‌کند که دقیقاً از همان وابستگی‌ها و نسخه‌هایی استفاده شود که هنگام ایجاد اولیه فایل موجود Cargo.lock استفاده شده‌اند. در صورت بروز هر یک از حالات زیر، Cargo با خطا خارج خواهد شد:
•فایل قفل وجود نداشته باشد.
•کارگو به دلیل برطرف‌سازی متفاوت وابستگی‌ها تلاش کند فایل قفل را تغییر دهد.

این گزینه ممکن است در محیط‌هایی که ساخت‌های قطعی و یکنواخت مورد نظر است، مانند خطوط لوله CI، استفاده شود.

--offline

از دسترسی Cargo به شبکه به هر دلیلی جلوگیری می‌کند. بدون این پرچم، اگر Cargo نیاز به دسترسی به شبکه داشته باشد و شبکه در دسترس نباشد، با خطا متوقف می‌شود. با این پرچم، Cargo تلاش خواهد کرد در صورت امکان بدون شبکه به کار خود ادامه دهد.

توجه داشته باشید که این کار ممکن است منجر به برطرف‌سازی متفاوت وابستگی‌ها نسبت به حالت برخط شود. Cargo خود را به crateهایی که به صورت محلی بارگیری شده‌اند محدود می‌کند، حتی اگر طبق نسخه محلی فهرست، نسخه جدیدتری موجود باشد. برای بارگیری وابستگی‌ها قبل از آفلاین شدن، دستور cargo-fetch(1) را ببینید.

همچنین می‌تواند با مقدار پیکربندی net.offline https://doc.rust-lang.org/cargo/reference/config.html مشخص شود.

--frozen

معادل مشخص کردن هم‌زمان --locked و --offline است.

+toolchain

اگر Cargo با rustup نصب شده باشد و اولین آرگومان cargo با + شروع شود، به عنوان نام زنجیره ابزار 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 به طور پیش‌فرض به دنبال مانیفست پروژه (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.دریافت مشخصه بسته برای بسته foo:
cargo pkgid foo
2.دریافت مشخصه بسته برای نسخه 1.0.0 از foo:
cargo pkgid foo@1.0.0
3.دریافت مشخصه بسته برای foo از crates.io:
cargo pkgid https://github.com/rust-lang/crates.io-index#foo
4.دریافت مشخصه بسته برای foo از یک بسته محلی:
cargo pkgid file:///path/to/local/package#foo

cargo(1), cargo-generate-lockfile(1), cargo-metadata(1), Package ID Specifications https://doc.rust-lang.org/cargo/reference/pkgid-spec.html, JSON messages https://doc.rust-lang.org/cargo/reference/external-tools.html#json-messages