'\" t
.\"     Title: cargo-pkgid
.\"    Author: [see the "AUTHOR(S)" section]
.\" Generator: Asciidoctor 1.5.8
.\"      Date: 2019-04-16
.\"    Manual: \ \&
.\"    Source: \ \&
.\"  Language: English
.\"
.TH "CARGO\-PKGID" "1" "2019-04-16" "\ \&" "\ \&"
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.ss \n[.ss] 0
.nh
.ad l
.de URL
\fI\\$2\fP <\\$1>\\$3
..
.als MTO URL
.if \n[.g] \{\
.  mso www.tmac
.  am URL
.    ad l
.  .
.  am MTO
.    ad l
.  .
.  LINKSTYLE blue R < >
.\}
.SH "NAME"
cargo\-pkgid \- Print a fully qualified package specification
.SH "SYNOPSIS"
.sp
\fBcargo pkgid [\fIOPTIONS\fP] [\fISPEC\fP]\fP
.SH "DESCRIPTION"
.sp
Given a \fISPEC\fP 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\fP is ambiguous as to which package it refers to in
the dependency graph. If no \fISPEC\fP 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\fP can be one of the
following:
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B Table 1. SPEC Query Format
.TS
allbox tab(:);
lt lt.
T{
.sp
SPEC Structure
T}:T{
.sp
Example SPEC
T}
T{
.sp
\fINAME\fP
T}:T{
.sp
\fBbitflags\fP
T}
T{
.sp
\fINAME\fP\fB:\fP\fIVERSION\fP
T}:T{
.sp
\fBbitflags:1.0.4\fP
T}
T{
.sp
\fIURL\fP
T}:T{
.sp
\fB\c
.URL "https://github.com/rust\-lang/cargo" "" "\fP"
T}
T{
.sp
\fIURL\fP\fB#\fP\fIVERSION\fP
T}:T{
.sp
\fB\c
.URL "https://github.com/rust\-lang/cargo#0.33.0" "" "\fP"
T}
T{
.sp
\fIURL\fP\fB#\fP\fINAME\fP
T}:T{
.sp
\fB\c
.URL "https://github.com/rust\-lang/crates.io\-index#bitflags" "" "\fP"
T}
T{
.sp
\fIURL\fP\fB#\fP\fINAME\fP\fB:\fP\fIVERSION\fP
T}:T{
.sp
\fB\c
.URL "https://github.com/rust\-lang/cargo#crates\-io:0.21.0" "" "\fP"
T}
.TE
.sp
.SH "OPTIONS"
.SS "Package Selection"
.sp
\fB\-p\fP \fISPEC\fP, \fB\-\-package\fP \fISPEC\fP
.RS 4
Get the package ID for the given package instead of the current package.
.RE
.SS "Display Options"
.sp
\fB\-v\fP, \fB\-\-verbose\fP
.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\fP
.URL "https://doc.rust\-lang.org/cargo/reference/config.html" "config value" "."
.RE
.sp
\fB\-q\fP, \fB\-\-quiet\fP
.RS 4
No output printed to stdout.
.RE
.sp
\fB\-\-color\fP \fIWHEN\fP
.RS 4
Control when colored output is used. Valid values:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
\fBauto\fP (default): Automatically detect if color support is available on the
terminal.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
\fBalways\fP: Always display colors.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
\fBnever\fP: Never display colors.
.RE
.sp
May also be specified with the \fBterm.color\fP
.URL "https://doc.rust\-lang.org/cargo/reference/config.html" "config value" "."
.RE
.SS "Manifest Options"
.sp
\fB\-\-manifest\-path\fP \fIPATH\fP
.RS 4
Path to the \fBCargo.toml\fP file. By default, Cargo searches in the current
directory or any parent directory for the \fBCargo.toml\fP file.
.RE
.sp
\fB\-\-frozen\fP, \fB\-\-locked\fP
.RS 4
Either of these flags requires that the \fBCargo.lock\fP 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\fP 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\fP file is up\-to\-date (such as a CI build) or want to avoid network
access.
.RE
.sp
\fB\-\-offline\fP
.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\fP(1) command to download dependencies before going
offline.
.sp
May also be specified with the \fBnet.offline\fP \c
.URL "https://doc.rust\-lang.org/cargo/reference/config.html" "config value" "."
.RE
.SS "Common Options"
.sp
\fB\-h\fP, \fB\-\-help\fP
.RS 4
Prints help information.
.RE
.sp
\fB\-Z\fP \fIFLAG\fP...
.RS 4
Unstable (nightly\-only) flags to Cargo. Run \fBcargo \-Z help\fP for
details.
.RE
.SH "ENVIRONMENT"
.sp
See \c
.URL "https://doc.rust\-lang.org/cargo/reference/environment\-variables.html" "the reference" " "
for
details on environment variables that Cargo reads.
.SH "EXIT STATUS"
.sp
0
.RS 4
Cargo succeeded.
.RE
.sp
101
.RS 4
Cargo failed to complete.
.RE
.SH "EXAMPLES"
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.  sp -1
.  IP " 1." 4.2
.\}
Retrieve package specification for \fBfoo\fP package:
.sp
.if n .RS 4
.nf
cargo pkgid foo
.fi
.if n .RE
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.  sp -1
.  IP " 2." 4.2
.\}
Retrieve package specification for version 1.0.0 of \fBfoo\fP:
.sp
.if n .RS 4
.nf
cargo pkgid foo:1.0.0
.fi
.if n .RE
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 3.\h'+01'\c
.\}
.el \{\
.  sp -1
.  IP " 3." 4.2
.\}
Retrieve package specification for \fBfoo\fP from crates.io:
.sp
.if n .RS 4
.nf
cargo pkgid https://github.com/rust\-lang/crates.io\-index#foo
.fi
.if n .RE
.RE
.SH "SEE ALSO"
.sp
\fBcargo\fP(1), \fBcargo\-generate\-lockfile\fP(1), \fBcargo\-metadata\fP(1)