|CARGO-PKGID(1)||General Commands Manual||CARGO-PKGID(1)|
cargo-pkgid - Print a fully qualified package specification
cargo pkgid [options] [spec]
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. The format of a spec can be one of the following:
|SPEC Structure||Example SPEC|
-p spec, --package spec
May also be specified with the term.color config value <https://doc.rust-lang.org/cargo/reference/config.html>.
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.
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>.
See the reference <https://doc.rust-lang.org/cargo/reference/environment-variables.html> for details on environment variables that Cargo reads.
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