'\" t
.TH "CARGO\-PKGID" "1"
.nh
.ad l
.ss \n[.ss] 0
.SH "NAME"
cargo\-pkgid \- Print a fully qualified package specification
.SH "SYNOPSIS"
\fBcargo pkgid\fR [\fIoptions\fR] [\fIspec\fR]
.SH "DESCRIPTION"
Given a \fIspec\fR 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 \fIspec\fR is ambiguous as to which package it refers to in
the dependency graph. If no \fIspec\fR is given, then the specifier for the local
package is printed.
.sp
This command requires that a lockfile is available and dependencies have been
fetched.
.sp
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 \fIspec\fR can be one of the
following:

.TS
allbox tab(:);
lt lt.
T{
SPEC Structure
T}:T{
Example SPEC
T}
T{
\fIname\fR
T}:T{
\fBbitflags\fR
T}
T{
\fIname\fR\fB:\fR\fIversion\fR
T}:T{
\fBbitflags:1.0.4\fR
T}
T{
\fIurl\fR
T}:T{
\fBhttps://github.com/rust\-lang/cargo\fR
T}
T{
\fIurl\fR\fB#\fR\fIversion\fR
T}:T{
\fBhttps://github.com/rust\-lang/cargo#0.33.0\fR
T}
T{
\fIurl\fR\fB#\fR\fIname\fR
T}:T{
\fBhttps://github.com/rust\-lang/crates.io\-index#bitflags\fR
T}
T{
\fIurl\fR\fB#\fR\fIname\fR\fB:\fR\fIversion\fR
T}:T{
\fBhttps://github.com/rust\-lang/cargo#crates\-io:0.21.0\fR
T}
.TE
.sp
.SH "OPTIONS"
.SS "Package Selection"
.sp
\fB\-p\fR \fIspec\fR, 
\fB\-\-package\fR \fIspec\fR
.RS 4
Get the package ID for the given package instead of the current package.
.RE
.SS "Display Options"
.sp
\fB\-v\fR, 
\fB\-\-verbose\fR
.RS 4
Use verbose output. May be specified twice for "very verbose" output which
includes extra output such as dependency warnings and build script output.
May also be specified with the \fBterm.verbose\fR
\fIconfig value\fR <https://doc.rust\-lang.org/cargo/reference/config.html>\&.
.RE
.sp
\fB\-q\fR, 
\fB\-\-quiet\fR
.RS 4
No output printed to stdout.
.RE
.sp
\fB\-\-color\fR \fIwhen\fR
.RS 4
Control when colored output is used. Valid values:
.sp
.RS 4
\h'-04'\(bu\h'+02'\fBauto\fR (default): Automatically detect if color support is available on the
terminal.
.RE
.sp
.RS 4
\h'-04'\(bu\h'+02'\fBalways\fR: Always display colors.
.RE
.sp
.RS 4
\h'-04'\(bu\h'+02'\fBnever\fR: Never display colors.
.RE
.sp
May also be specified with the \fBterm.color\fR
\fIconfig value\fR <https://doc.rust\-lang.org/cargo/reference/config.html>\&.
.RE
.SS "Manifest Options"
.sp
\fB\-\-manifest\-path\fR \fIpath\fR
.RS 4
Path to the \fBCargo.toml\fR file. By default, Cargo searches for the
\fBCargo.toml\fR file in the current directory or any parent directory.
.RE
.sp
\fB\-\-frozen\fR, 
\fB\-\-locked\fR
.RS 4
Either of these flags requires that the \fBCargo.lock\fR file is
up\-to\-date. If the lock file is missing, or it needs to be updated, Cargo will
exit with an error. The \fB\-\-frozen\fR flag also prevents Cargo from
attempting to access the network to determine if it is out\-of\-date.
.sp
These may be used in environments where you want to assert that the
\fBCargo.lock\fR file is up\-to\-date (such as a CI build) or want to avoid network
access.
.RE
.sp
\fB\-\-offline\fR
.RS 4
Prevents Cargo from accessing the network for any reason. Without this
flag, Cargo will stop with an error if it needs to access the network and
the network is not available. With this flag, Cargo will attempt to
proceed without the network if possible.
.sp
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 \fBcargo\-fetch\fR(1) command to download dependencies before going
offline.
.sp
May also be specified with the \fBnet.offline\fR \fIconfig value\fR <https://doc.rust\-lang.org/cargo/reference/config.html>\&.
.RE
.SS "Common Options"
.sp
\fB+\fR\fItoolchain\fR
.RS 4
If Cargo has been installed with rustup, and the first argument to \fBcargo\fR
begins with \fB+\fR, it will be interpreted as a rustup toolchain name (such
as \fB+stable\fR or \fB+nightly\fR).
See the \fIrustup documentation\fR <https://rust\-lang.github.io/rustup/overrides.html>
for more information about how toolchain overrides work.
.RE
.sp
\fB\-h\fR, 
\fB\-\-help\fR
.RS 4
Prints help information.
.RE
.sp
\fB\-Z\fR \fIflag\fR
.RS 4
Unstable (nightly\-only) flags to Cargo. Run \fBcargo \-Z help\fR for details.
.RE
.SH "ENVIRONMENT"
See \fIthe reference\fR <https://doc.rust\-lang.org/cargo/reference/environment\-variables.html> for
details on environment variables that Cargo reads.
.SH "EXIT STATUS"
.sp
.RS 4
\h'-04'\(bu\h'+02'\fB0\fR: Cargo succeeded.
.RE
.sp
.RS 4
\h'-04'\(bu\h'+02'\fB101\fR: Cargo failed to complete.
.RE
.SH "EXAMPLES"
.sp
.RS 4
\h'-04' 1.\h'+01'Retrieve package specification for \fBfoo\fR package:
.sp
.RS 4
.nf
cargo pkgid foo
.fi
.RE
.RE
.sp
.RS 4
\h'-04' 2.\h'+01'Retrieve package specification for version 1.0.0 of \fBfoo\fR:
.sp
.RS 4
.nf
cargo pkgid foo:1.0.0
.fi
.RE
.RE
.sp
.RS 4
\h'-04' 3.\h'+01'Retrieve package specification for \fBfoo\fR from crates.io:
.sp
.RS 4
.nf
cargo pkgid https://github.com/rust\-lang/crates.io\-index#foo
.fi
.RE
.RE
.sp
.RS 4
\h'-04' 4.\h'+01'Retrieve package specification for \fBfoo\fR from a local package:
.sp
.RS 4
.nf
cargo pkgid file:///path/to/local/package#foo
.fi
.RE
.RE
.SH "SEE ALSO"
\fBcargo\fR(1), \fBcargo\-generate\-lockfile\fR(1), \fBcargo\-metadata\fR(1)
