blob: 01984370e1a916eb9377eaa12f922a39cbe76aba [file] [log] [blame]
<h2 id="cargo_pkgid_name">NAME</h2>
<div class="sectionbody">
<p>cargo-pkgid - Print a fully qualified package specification</p>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="paragraph">
<p><code>cargo pkgid [<em>OPTIONS</em>] [<em>SPEC</em>]</code></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Given a <em>SPEC</em> 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 <em>SPEC</em> is ambiguous as to which package it refers to in
the dependency graph. If no <em>SPEC</em> is given, then the specifier for the local
package is printed.</p>
</div>
<div class="paragraph">
<p>This command requires that a lockfile is available and dependencies have been
fetched.</p>
</div>
<div class="paragraph">
<p>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 <em>SPEC</em> can be one of the
following:</p>
</div>
<table class="tableblock frame-all grid-all fit-content">
<caption class="title">Table 1. SPEC Query Format</caption>
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">SPEC Structure</th>
<th class="tableblock halign-left valign-top">Example SPEC</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>NAME</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bitflags</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>NAME</em><code>:</code><em>VERSION</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bitflags:1.0.4</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>URL</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://github.com/rust-lang/cargo" class="bare">https://github.com/rust-lang/cargo</a></code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>URL</em><code>#</code><em>VERSION</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://github.com/rust-lang/cargo#0.33.0" class="bare">https://github.com/rust-lang/cargo#0.33.0</a></code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>URL</em><code>#</code><em>NAME</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://github.com/rust-lang/crates.io-index#bitflags" class="bare">https://github.com/rust-lang/crates.io-index#bitflags</a></code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><em>URL</em><code>#</code><em>NAME</em><code>:</code><em>VERSION</em></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://github.com/rust-lang/cargo#crates-io:0.21.0" class="bare">https://github.com/rust-lang/cargo#crates-io:0.21.0</a></code></p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_options">OPTIONS</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="cargo_pkgid_package_selection">Package Selection</h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>-p</strong> <em>SPEC</em></dt>
<dt class="hdlist1"><strong>--package</strong> <em>SPEC</em></dt>
<dd>
<p>Get the package ID for the given package instead of the current package.</p>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cargo_pkgid_display_options">Display Options</h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>-v</strong></dt>
<dt class="hdlist1"><strong>--verbose</strong></dt>
<dd>
<p>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 <code>term.verbose</code>
<a href="reference/config.html">config value</a>.</p>
</dd>
<dt class="hdlist1"><strong>-q</strong></dt>
<dt class="hdlist1"><strong>--quiet</strong></dt>
<dd>
<p>No output printed to stdout.</p>
</dd>
<dt class="hdlist1"><strong>--color</strong> <em>WHEN</em></dt>
<dd>
<p>Control when colored output is used. Valid values:</p>
<div class="ulist">
<ul>
<li>
<p><code>auto</code> (default): Automatically detect if color support is available on the
terminal.</p>
</li>
<li>
<p><code>always</code>: Always display colors.</p>
</li>
<li>
<p><code>never</code>: Never display colors.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>May also be specified with the <code>term.color</code>
<a href="reference/config.html">config value</a>.</p>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cargo_pkgid_manifest_options">Manifest Options</h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>--manifest-path</strong> <em>PATH</em></dt>
<dd>
<p>Path to the <code>Cargo.toml</code> file. By default, Cargo searches in the current
directory or any parent directory for the <code>Cargo.toml</code> file.</p>
</dd>
<dt class="hdlist1"><strong>--frozen</strong></dt>
<dt class="hdlist1"><strong>--locked</strong></dt>
<dd>
<p>Either of these flags requires that the <code>Cargo.lock</code> file is
up-to-date. If the lock file is missing, or it needs to be updated, Cargo will
exit with an error. The <code>--frozen</code> flag also prevents Cargo from
attempting to access the network to determine if it is out-of-date.</p>
<div class="paragraph">
<p>These may be used in environments where you want to assert that the
<code>Cargo.lock</code> file is up-to-date (such as a CI build) or want to avoid network
access.</p>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cargo_pkgid_common_options">Common Options</h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>-h</strong></dt>
<dt class="hdlist1"><strong>--help</strong></dt>
<dd>
<p>Prints help information.</p>
</dd>
<dt class="hdlist1"><strong>-Z</strong> <em>FLAG</em>&#8230;&#8203;</dt>
<dd>
<p>Unstable (nightly-only) flags to Cargo. Run <code>cargo -Z help</code> for
details.</p>
</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_environment">ENVIRONMENT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>See <a href="reference/environment-variables.html">the reference</a> for
details on environment variables that Cargo reads.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_exit_status">Exit Status</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">0</dt>
<dd>
<p>Cargo succeeded.</p>
</dd>
<dt class="hdlist1">101</dt>
<dd>
<p>Cargo failed to complete.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Retrieve package specification for <code>foo</code> package:</p>
<div class="literalblock">
<div class="content">
<pre>cargo pkgid foo</pre>
</div>
</div>
</li>
<li>
<p>Retrieve package specification for version 1.0.0 of <code>foo</code>:</p>
<div class="literalblock">
<div class="content">
<pre>cargo pkgid foo:1.0.0</pre>
</div>
</div>
</li>
<li>
<p>Retrieve package specification for <code>foo</code> from crates.io:</p>
<div class="literalblock">
<div class="content">
<pre>cargo pkgid https://github.com/rust-lang/crates.io-index#foo</pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="cargo_pkgid_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="commands/index.html">cargo(1)</a>, <a href="commands/cargo-generate-lockfile.html">cargo-generate-lockfile(1)</a>, <a href="commands/cargo-metadata.html">cargo-metadata(1)</a></p>
</div>
</div>
</div>