-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14 from Endericedragon/master
为src/commands/cargo-vendor.md提供了翻译。
- Loading branch information
Showing
1 changed file
with
77 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,165 +1,168 @@ | ||
# cargo-vendor(1) | ||
|
||
## NAME | ||
## 名称 | ||
|
||
cargo-vendor - Vendor all dependencies locally | ||
cargo-vendor --- 将所有依赖项下载到本地 | ||
|
||
## SYNOPSIS | ||
## 用法概要 | ||
|
||
`cargo vendor` [_options_] [_path_] | ||
`cargo vendor` [_选项_] [_路径_] | ||
|
||
## DESCRIPTION | ||
## 功能介绍 | ||
|
||
This cargo subcommand will vendor all crates.io and git dependencies for a | ||
project into the specified directory at `<path>`. After this command completes | ||
the vendor directory specified by `<path>` will contain all remote sources from | ||
dependencies specified. Additional manifests beyond the default one can be | ||
specified with the `-s` option. | ||
该cargo子命令将下载所有crates.io和git源指定的依赖项到指定的目录`<path>`中。 | ||
待命令运行完毕之时,`<path>`指定的目录中将包含所有依赖项的远程源代码内容。 | ||
可以使用`-s`选项指定额外的`Cargo.toml`清单文件。 | ||
|
||
The `cargo vendor` command will also print out the configuration necessary | ||
to use the vendored sources, which you will need to add to `.cargo/config.toml`. | ||
命令运行完毕时,stdout将输出配置信息,指导如何令分发(vendor)操作真正生效。 | ||
一般来说,您需要将输出内容添加到`.cargo/config.toml`文件中。 | ||
|
||
## OPTIONS | ||
Cargo将经分发的源代码(vendored sources)视为只读的,就像它对registry源代码和git源代码那样。 | ||
如果您意图对远程源代码中的crate进行修改,请在`Cargo.toml`清单文件中使用`[patch]`或指向本地副本的`path`依赖项。 | ||
Cargo将正确处理该crate的增量构建过程,因为它知道它已经不是只读依赖项了。 | ||
|
||
### Vendor Options | ||
## 选项 | ||
|
||
### 分发选项 | ||
|
||
<dl> | ||
|
||
<dt class="option-term" id="option-cargo-vendor--s"><a class="option-anchor" href="#option-cargo-vendor--s"></a><code>-s</code> <em>manifest</em></dt> | ||
<dt class="option-term" id="option-cargo-vendor---sync"><a class="option-anchor" href="#option-cargo-vendor---sync"></a><code>--sync</code> <em>manifest</em></dt> | ||
<dd class="option-desc">Specify extra <code>Cargo.toml</code> manifests to workspaces which should also be | ||
vendored and synced to the output.</dd> | ||
<dd class="option-desc">指定一个额外的<code>Cargo.toml</code>清单文件到当前工作空间中,该文件记录的依赖项也会被分发并同步到输出目录。可以多次指定这个选项</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---no-delete"><a class="option-anchor" href="#option-cargo-vendor---no-delete"></a><code>--no-delete</code></dt> | ||
<dd class="option-desc">Don't delete the "vendor" directory when vendoring, but rather keep all | ||
existing contents of the vendor directory</dd> | ||
<dd class="option-desc">在分发时,不再删除"vendor"目录,即:保留那个目录中的所有已有内容</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---respect-source-config"><a class="option-anchor" href="#option-cargo-vendor---respect-source-config"></a><code>--respect-source-config</code></dt> | ||
<dd class="option-desc">Instead of ignoring <code>[source]</code> configuration by default in <code>.cargo/config.toml</code> | ||
read it and use it when downloading crates from crates.io, for example</dd> | ||
<dd class="option-desc">默认情况下被忽略的<code>.cargo/config.toml</code>中的<code>[source]</code>此时不再被忽略。它将被用于诸如下载crates等用途</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---versioned-dirs"><a class="option-anchor" href="#option-cargo-vendor---versioned-dirs"></a><code>--versioned-dirs</code></dt> | ||
<dd class="option-desc">Normally versions are only added to disambiguate multiple versions of the | ||
same package. This option causes all directories in the "vendor" directory | ||
to be versioned, which makes it easier to track the history of vendored | ||
packages over time, and can help with the performance of re-vendoring when | ||
only a subset of the packages have changed.</dd> | ||
<dd class="option-desc">一般来说,版本号仅在去歧义时才会被添加到依赖项的目录名中。使用此选项将导致"vendor"目录的所有依赖项目录名中包含完整的版本号。这将有利于追踪开发时间线上被分发crate的改动。当一部分被分发的crate发生改动时,重分发的效率也会有所提高</dd> | ||
|
||
|
||
</dl> | ||
|
||
### Manifest Options | ||
### 清单选项 | ||
|
||
<dl> | ||
|
||
<dt class="option-term" id="option-cargo-vendor---manifest-path"><a class="option-anchor" href="#option-cargo-vendor---manifest-path"></a><code>--manifest-path</code> <em>path</em></dt> | ||
<dd class="option-desc">用于指定<code>Cargo.toml</code>文件的路径。默认情况下,Cargo会在当前目录或上级目录中寻找<code>Cargo.toml</code>文件。</dd> | ||
|
||
<dd class="option-desc"><code>Cargo.toml</code>文件的路径。默认情况下,Cargo会在当前目录及父目录中搜索该文件</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---frozen"><a class="option-anchor" href="#option-cargo-vendor---frozen"></a><code>--frozen</code></dt> | ||
<dt class="option-term" id="option-cargo-vendor---locked"><a class="option-anchor" href="#option-cargo-vendor---locked"></a><code>--locked</code></dt> | ||
<dd class="option-desc">这两个选项用于保证<code>Cargo.lock</code>文件是最新的。如果该锁文件不存在,或者不是最新的,Cargo | ||
会报错退出。其中<code>--frozen</code>选项会阻止Cargo访问网络以检查锁文件是否是最新的。</p> | ||
<p>这些选项,可用于保证<code>Cargo.lock</code>文件是最新的(比如持续集成的构建过程), | ||
或用于避免联网。</dd> | ||
<dd class="option-desc">确保分发时使用的依赖项及其版本均与<code>Cargo.lock</code>文件中记载的一致。当下列情景发生时,Cargo将会报错并退出: | ||
<ul> | ||
<li><code>Cargo.lock</code>文件丢失。</li> | ||
<li>由于依赖项解析结果发生变化,Cargo尝试修改<code>Cargo.lock</code>文件。(原文:Cargo attempted to change the lock file due to a different dependency resolution.)</li> | ||
</ul> | ||
<p>该选项在需要确定性构建的场景中十分有用,例如CI管道(CI pipelines)。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---offline"><a class="option-anchor" href="#option-cargo-vendor---offline"></a><code>--offline</code></dt> | ||
<dd class="option-desc">禁止Cargo访问网络。如果不添加此选项,Cargo在需要访问网络但网络不可用的情况下,会报错 | ||
并停止工作。添加此选项后,Cargo会尽可能尝试不使用网络来工作。</p> | ||
<p>注意,在此情况下可能会产生与联网状态下不同的依赖解析(<strong>Dependency Resolution</strong>)结果。 | ||
Cargo只会使用本地已下载的crate,即便本地的索引副本中表明可能有新版本crate。在离线前下载 | ||
所需依赖的方法,参见 <a href="cargo-fetch.html">cargo-fetch(1)</a> 。</p> | ||
<p>也可以通过 <code>net.offline</code> <a href="../reference/config.html">config value</a>指定。</dd> | ||
<dd class="option-desc">阻止Cargo联网。若无设定此选项,Cargo将在需要联网但网络不可用时报错退出。设定此选项后,Cargo将尝试在无网络的情况下继续运行。</p> | ||
<p>注意:指定该选项之后,解析的依赖项可能与在线模式的不同。Cargo将限制自己仅使用本地已下载的crate,即使在线模式下可能有更新的版本也不会使用。请另行参阅<a href="cargo-fetch.html">cargo-fetch(1)</a>命令,以在离线前提前下载依赖项。</p> | ||
<p>也可以通过指定<code>net.offline</code> <a href="../reference/config.html">配置项(config value)</a>实现同样的效果。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---frozen"><a class="option-anchor" href="#option-cargo-vendor---frozen"></a><code>--frozen</code></dt> | ||
<dd class="option-desc">效果等同于同时设置<code>--locked</code>和<code>--offline</code>。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---lockfile-path"><a class="option-anchor" href="#option-cargo-vendor---lockfile-path"></a><code>--lockfile-path</code> <em>PATH</em></dt> | ||
<dd class="option-desc">修改Cargo.lock文件的路径为<em>PATH</em>,不再使用默认路径(<code><workspace_root>/Cargo.lock</code>)。<em>PATH</em>必须以<code>Cargo.lock</code>结尾(例如:<code>--lockfile-path /tmp/temporary-lockfile/Cargo.lock</code>)。注意,若指定了<code>--lockfile-path</code>选项,则默认路径的Cargo.lock将被忽略,转而:要么用<em>PATH</em>指定的Cargo.lock,要么根据<em>PATH</em>指定的路径生成新的Cargo.lock文件。该选项可在只读的文件中运行,并在指定的<em>PATH</em>中写入Cargo.lock。</p> | ||
<p>该选项仅在<a href="https://doc.rust-lang.org/book/appendix-07-nightly-rust.html">nightly channel</a>中可用,且需要启用<code>-Z unstable-options</code>选项(请参阅 | ||
<a href="https://github.com/rust-lang/cargo/issues/14421">#14421</a>).</dd> | ||
|
||
|
||
</dl> | ||
|
||
### Display Options | ||
### 显示选项 | ||
|
||
<dl> | ||
|
||
<dt class="option-term" id="option-cargo-vendor--v"><a class="option-anchor" href="#option-cargo-vendor--v"></a><code>-v</code></dt> | ||
<dt class="option-term" id="option-cargo-vendor---verbose"><a class="option-anchor" href="#option-cargo-vendor---verbose"></a><code>--verbose</code></dt> | ||
<dd class="option-desc">启用更加详细的输出。可两次使用来显示"非常详细"的输出,其中包含了诸如 依赖警告 以及 构建脚本输出 等额外的输出内容。 | ||
也可通过<code>term.verbose</code>指定。 | ||
<a href="../reference/config.html">config value</a>.</dd> | ||
<dd class="option-desc">输出详细信息。可以指定两次,以输出超详细信息,其中包含依赖项警告和构建脚本(build script)的输出。也可以通过指定<code>term.verbose</code> | ||
<a href="../reference/config.html">配置选项</a>达成同样效果。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor--q"><a class="option-anchor" href="#option-cargo-vendor--q"></a><code>-q</code></dt> | ||
<dt class="option-term" id="option-cargo-vendor---quiet"><a class="option-anchor" href="#option-cargo-vendor---quiet"></a><code>--quiet</code></dt> | ||
<dd class="option-desc">不输出Cargo的日志信息。也可通过<code>term.quiet</code>指定。 | ||
<a href="../reference/config.html">config value</a>.</dd> | ||
<dd class="option-desc">不输出Cargo日志信息。也可以通过指定<code>term.quiet</code><a href="../reference/config.html">配置选项</a>来达成同样效果。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---color"><a class="option-anchor" href="#option-cargo-vendor---color"></a><code>--color</code> <em>when</em></dt> | ||
<dd class="option-desc">控制输出内容的颜色。有效取值如下:</p> | ||
<dd class="option-desc">控制是否输出彩色内容。可用的选项包括:</p> | ||
<ul> | ||
<li><code>auto</code> (默认):自动检测终端是否支持带颜色的输出。</li> | ||
<li><code>always</code>:总显示带颜色的输出。</li> | ||
<li><code>never</code>:从不显示带颜色的输出。</li> | ||
<li><code>auto</code> (默认): 自动检测终端是否支持彩色输出。</li> | ||
<li><code>always</code>: 总是使用彩色输出。</li> | ||
<li><code>never</code>: 不使用彩色输出。</li> | ||
</ul> | ||
<p>也可通过<code>term.color</code>指定。 | ||
<a href="../reference/config.html">config value</a>.</dd> | ||
|
||
<p>也可以通过指定<code>term.color</code> | ||
<a href="../reference/config.html">配置选项</a>达成同样效果。</dd> | ||
|
||
|
||
</dl> | ||
|
||
### Common Options | ||
### 通用选项 | ||
|
||
<dl> | ||
|
||
<dt class="option-term" id="option-cargo-vendor-+toolchain"><a class="option-anchor" href="#option-cargo-vendor-+toolchain"></a><code>+</code><em>toolchain</em></dt> | ||
<dd class="option-desc">If Cargo has been installed with rustup, and the first argument to <code>cargo</code> | ||
begins with <code>+</code>, it will be interpreted as a rustup toolchain name (such | ||
as <code>+stable</code> or <code>+nightly</code>). | ||
See the <a href="https://rust-lang.github.io/rustup/overrides.html">rustup documentation</a> | ||
for more information about how toolchain overrides work.</dd> | ||
<dd class="option-desc">若Cargo是由rustup安装的,且cargo的第一个参数以+开头,Cargo将会把此参数视为rustup工具链名称(例如+stable、+nightly等)请参阅<a href="https://rust-lang.github.io/rustup/overrides.html">rustup文档</a>以理解更多关于工具链覆盖(override)的信息。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor---config"><a class="option-anchor" href="#option-cargo-vendor---config"></a><code>--config</code> <em>KEY=VALUE</em> or <em>PATH</em></dt> | ||
<dd class="option-desc">覆盖一项Cargo配置选项。该参数应为TOML的键值对<code>KEY=VALUE</code>格式,或是一个指向Cargo配置文件的路径。该选项可多次设定。请参阅<a href="../reference/config.html#command-line-overrides">命令行覆盖</a>以了解更多信息。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor--C"><a class="option-anchor" href="#option-cargo-vendor--C"></a><code>-C</code> <em>PATH</em></dt> | ||
<dd class="option-desc">在执行任何Cargo操作前,先将工作目录替换为给定路径。这将影响诸如Cargo寻找默认的清单文件(<code>Cargo.toml</code>)以及Cargo配置文件<code>.cargo/config.toml</code>等的行为。该选项必须在任何子命令之前给出,例如<code>cargo -C path/to/my-project build</code>。</p> | ||
<p>该选项尽在<a href="https://doc.rust-lang.org/book/appendix-07-nightly-rust.html">nightly channel</a>版本工具链中可用,且需要打开<code>-Z unstable-options</code>选项 (请参阅<a href="https://github.com/rust-lang/cargo/issues/10098">#10098</a>)。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor--h"><a class="option-anchor" href="#option-cargo-vendor--h"></a><code>-h</code></dt> | ||
<dt class="option-term" id="option-cargo-vendor---help"><a class="option-anchor" href="#option-cargo-vendor---help"></a><code>--help</code></dt> | ||
<dd class="option-desc">Prints help information.</dd> | ||
<dd class="option-desc">打印帮助信息。</dd> | ||
|
||
|
||
<dt class="option-term" id="option-cargo-vendor--Z"><a class="option-anchor" href="#option-cargo-vendor--Z"></a><code>-Z</code> <em>flag</em></dt> | ||
<dd class="option-desc">Unstable (nightly-only) flags to Cargo. Run <code>cargo -Z help</code> for details.</dd> | ||
<dd class="option-desc">启用Cargo不稳定功能(nightly专有)。运行<code>cargo -Z help</code>以了解详细信息。</dd> | ||
|
||
|
||
</dl> | ||
|
||
## 环境变量 | ||
|
||
## 环境 | ||
|
||
关于Cargo所读取的环境变量,可参见[the reference](../reference/environment-variables.html) | ||
请参阅[该参考资料](../reference/environment-variables.html),以详细了解Cargo所读取的环境变量。 | ||
|
||
## 退出状态码 | ||
|
||
## 退出状态 | ||
* `0`: Cargo操作成功。 | ||
* `101`: Cargo操作未能成功。 | ||
|
||
* `0`: Cargo命令执行成功 | ||
* `101`: Cargo命令未能完成. | ||
## 使用样例 | ||
|
||
|
||
## EXAMPLES | ||
|
||
1. Vendor all dependencies into a local "vendor" folder | ||
1. 将全部依赖分发到本地的`vendor`目录中 | ||
|
||
cargo vendor | ||
|
||
2. Vendor all dependencies into a local "third-party/vendor" folder | ||
2. 将全部依赖分发到本地的`third-party/vendor`目录中 | ||
|
||
cargo vendor third-party/vendor | ||
|
||
3. Vendor the current workspace as well as another to "vendor" | ||
3. 将当前工作空间和另一个工作空间(由Cargo.toml文件指定)分发到本地的`vendor`目录中 | ||
|
||
cargo vendor -s ../path/to/Cargo.toml | ||
|
||
## SEE ALSO | ||
[cargo(1)](cargo.html) | ||
4. Vendor and redirect the necessary vendor configs to a config file. | ||
|
||
cargo vendor > path/to/my/cargo/config.toml | ||
|
||
## 另请参阅 | ||
[cargo(1)](cargo.html) |