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 |
---|---|
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 |
{{#option “-p
spec” “--package
spec” }} Get the package ID for the given package instead of the current package. {{/option}}
{{/options}}
{} {{> options-display }} {{/options}}
{{> options-manifest-path }}
{{> options-locked }}
{{/options}}
{{> section-options-common }}
{{> section-environment }}
{{> section-exit-status }}
Retrieve package specification for foo
package:
cargo pkgid foo
Retrieve package specification for version 1.0.0 of foo
:
cargo pkgid foo@1.0.0
Retrieve package specification for foo
from crates.io:
cargo pkgid https://github.com/rust-lang/crates.io-index#foo
Retrieve package specification for foo
from a local package:
cargo pkgid file:///path/to/local/package#foo
{{man “cargo” 1}}, {{man “cargo-generate-lockfile” 1}}, {{man “cargo-metadata” 1}}