table of contents
CARGO-PKGID(1) | General Commands Manual | CARGO-PKGID(1) |
NAME¶
cargo-pkgid — Print a fully qualified package specification
SYNOPSIS¶
cargo pkgid [options] [spec]
DESCRIPTION¶
Given a spec argument, print out the fully qualified package ID specifier for a package or dependency in the current workspace. This command will generate an error if spec is ambiguous as to which package it refers to in the dependency graph. If no spec is given, then the specifier for the local package is printed.
This command requires that a lockfile is available and dependencies have been fetched.
A package specifier consists of a name, version, and source URL. You are allowed to use partial specifiers to succinctly match a specific package as long as it matches only one package. This specifier is also used by other parts in Cargo, such as cargo-metadata(1) and JSON messages <https://doc.rust-lang.org/cargo/reference/external-tools.html#json-messages> emitted by Cargo.
The format of a spec can be one of the following:
SPEC Structure | Example 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 |
The specification grammar can be found in chapter Package ID Specifications <https://doc.rust-lang.org/cargo/reference/pkgid-spec.html>.
OPTIONS¶
Package Selection¶
-p spec, --package spec
Display Options¶
-v, --verbose
-q, --quiet
--color when
May also be specified with the term.color config value <https://doc.rust-lang.org/cargo/reference/config.html>.
Manifest Options¶
--manifest-path path
--frozen, --locked
These may be used in environments where you want to assert that the Cargo.lock file is up-to-date (such as a CI build) or want to avoid network access.
--offline
Beware that this may result in different dependency resolution than online mode. Cargo will restrict itself to crates that are downloaded locally, even if there might be a newer version as indicated in the local copy of the index. See the cargo-fetch(1) command to download dependencies before going offline.
May also be specified with the net.offline config value <https://doc.rust-lang.org/cargo/reference/config.html>.
Common Options¶
+toolchain
--config KEY=VALUE or PATH
-C PATH
This option is only available on the nightly channel <https://doc.rust-lang.org/book/appendix-07-nightly-rust.html> and requires the -Z unstable-options flag to enable (see #10098 <https://github.com/rust-lang/cargo/issues/10098>).
-h, --help
-Z flag
ENVIRONMENT¶
See the reference <https://doc.rust-lang.org/cargo/reference/environment-variables.html> for details on environment variables that Cargo reads.
EXIT STATUS¶
EXAMPLES¶
cargo pkgid foo
cargo pkgid foo@1.0.0
cargo pkgid https://github.com/rust-lang/crates.io-index#foo
cargo pkgid file:///path/to/local/package#foo
SEE ALSO¶
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>