<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>03-Cargo 参考 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/</link><description>Recent content in 03-Cargo 参考 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 19 Sep 2026 21:54:25 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/cargo/cargo-reference/index.xml" rel="self" type="application/rss+xml"/><item><title>02-工作空间</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/02-workspaces/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/02-workspaces/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="工作空间"&gt;工作空间&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/workspaces.html"&gt;https://doc.rust-lang.org/cargo/reference/workspaces.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;工作空间（workspace）&lt;/em&gt; 是一个或多个包的集合，这些包称为 &lt;em&gt;工作空间成员（workspace members）&lt;/em&gt;，被一起管理。&lt;/p&gt;</description></item><item><title>05-配置文件（Profiles）</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/05-profiles/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/05-profiles/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="配置文件profiles"&gt;配置文件（Profiles）&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/profiles.html"&gt;https://doc.rust-lang.org/cargo/reference/profiles.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;配置文件（Profiles）提供了一种改变编译器设置的方式，影响优化与调试符号等内容。&lt;/p&gt;
&lt;p&gt;Cargo 有 4 个内置配置文件：&lt;code&gt;dev&lt;/code&gt;、&lt;code&gt;release&lt;/code&gt;、&lt;code&gt;test&lt;/code&gt; 与 &lt;code&gt;bench&lt;/code&gt;。若命令行上未指定配置文件，则根据正在运行的命令自动选择。除内置配置文件外，也可以指定自定义的用户定义配置文件。&lt;/p&gt;</description></item><item><title>06-配置</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/06-configuration/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/06-configuration/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="configuration"&gt;配置&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/config.html"&gt;https://doc.rust-lang.org/cargo/reference/config.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本文档说明 Cargo 的配置系统如何工作，以及可用的键与配置项。关于通过清单（manifest）对包（package）进行配置，请参阅&lt;a href="../the-manifest-format/"&gt;清单格式&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>07-环境变量</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/07-environment-variables/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/07-environment-variables/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="environment-variables"&gt;环境变量&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/environment-variables.html"&gt;https://doc.rust-lang.org/cargo/reference/environment-variables.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cargo 会设置并读取若干环境变量，你的代码可以检测或覆盖它们。以下按 Cargo 与之交互的时机，列出 Cargo 设置的环境变量：&lt;/p&gt;
&lt;h2 id="environment-variables-cargo-reads"&gt;Cargo 读取的环境变量&lt;/h2&gt;
&lt;p&gt;你可以覆盖这些环境变量，以改变 Cargo 在你系统上的行为：&lt;/p&gt;</description></item><item><title>09-构建缓存</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/09-build-cache/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/09-build-cache/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="build-cache"&gt;构建缓存&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/build-cache.html"&gt;https://doc.rust-lang.org/cargo/reference/build-cache.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cargo 将构建输出存放到「target」与「build」目录中。默认情况下，这两个目录都指向你的 &lt;a href="../../appendix/01-glossary/#workspace"&gt;&lt;em&gt;工作空间&lt;/em&gt;&lt;/a&gt; 根目录下名为 &lt;code&gt;target&lt;/code&gt; 的目录。要更改 target-dir 的位置，可以设置 &lt;code&gt;CARGO_TARGET_DIR&lt;/code&gt; [环境变量]、&lt;a href="../06-configuration/#buildtarget-dir"&gt;&lt;code&gt;build.target-dir&lt;/code&gt;&lt;/a&gt; 配置值，或 &lt;code&gt;--target-dir&lt;/code&gt; 命令行标志。要更改 build-dir 的位置，可以设置 &lt;code&gt;CARGO_BUILD_BUILD_DIR&lt;/code&gt; [环境变量] 或 &lt;a href="../06-configuration/#buildbuild-dir"&gt;&lt;code&gt;build.build-dir&lt;/code&gt;&lt;/a&gt; 配置值。&lt;/p&gt;</description></item><item><title>10-包 ID 规范</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/10-package-id-specifications/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/10-package-id-specifications/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="package-id-specifications"&gt;包 ID 规范&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/pkgid-spec.html"&gt;https://doc.rust-lang.org/cargo/reference/pkgid-spec.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="package-id-specifications"&gt;包 ID 规范&lt;/h2&gt;
&lt;p&gt;Cargo 的子命令经常需要在依赖图中引用某个特定包，以执行更新、清理、构建等操作。为解决此问题，Cargo 支持 &lt;em&gt;包 ID 规范（Package ID Specifications）&lt;/em&gt;。规范是一个字符串，用于在包图中唯一地引用某一个包。&lt;/p&gt;</description></item><item><title>11-外部工具</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/11-external-tools/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/11-external-tools/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="external-tools"&gt;外部工具&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/external-tools.html"&gt;https://doc.rust-lang.org/cargo/reference/external-tools.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cargo 的目标之一是与第三方工具（如 IDE 与其他构建系统）简单集成。为便于集成，Cargo 提供若干设施：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="../../cargo-commands/manifest-commands/05-cargo-metadata/"&gt;&lt;code&gt;cargo metadata&lt;/code&gt;&lt;/a&gt; 命令，以 JSON 输出包结构与依赖信息，&lt;/p&gt;</description></item><item><title>13-SemVer 兼容性</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/13-semver-compatibility/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/13-semver-compatibility/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="semver-兼容性"&gt;SemVer 兼容性&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/semver.html"&gt;https://doc.rust-lang.org/cargo/reference/semver.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本章详细说明对于包的新发布，按惯例什么被视为兼容或破坏性的 SemVer 变更。关于 SemVer 是什么，以及 Cargo 如何用它来确保库的兼容性，见 &lt;a href="../specifying-dependencies/03-dependency-resolution/#semver-compatibility"&gt;SemVer 兼容性&lt;/a&gt; 一节。&lt;/p&gt;</description></item><item><title>14-未来不兼容报告</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/14-future-incompat-report/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/14-future-incompat-report/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="future-incompat-report"&gt;未来不兼容报告&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/future-incompat-report.html"&gt;https://doc.rust-lang.org/cargo/reference/future-incompat-report.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cargo 会检查所有依赖中的未来不兼容（future-incompatible）警告。这些警告针对可能在将来变成硬错误的变更，届时依赖将无法在未来版本的 rustc 中构建。若发现任何警告，会显示一小段提示，说明已发现警告，并提供如何显示完整报告的说明。&lt;/p&gt;</description></item><item><title>15-报告构建耗时</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/15-reporting-build-timings/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/15-reporting-build-timings/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="reporting-build-timings"&gt;报告构建耗时&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/timings.html"&gt;https://doc.rust-lang.org/cargo/reference/timings.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;--timings&lt;/code&gt; 选项可给出各次编译耗时的信息，并跟踪随时间变化的并发信息。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#58626f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#b0c4de;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cargo build --timings
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这会在 &lt;code&gt;target/cargo-timings/cargo-timing.html&lt;/code&gt; 写入一份 HTML 报告。同时也会在同一目录写入一份文件名带时间戳的报告副本，以便查看较旧的运行结果。&lt;/p&gt;</description></item><item><title>16-Lint</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/16-lints/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/16-lints/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="lints"&gt;Lint&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/lints.html"&gt;https://doc.rust-lang.org/cargo/reference/lints.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="td-alert td-alert--md alert alert-note" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;说明&lt;/div&gt;
 &lt;div class="td-alert-body"&gt;
 &lt;p&gt;本章介绍由 &lt;code&gt;cargo&lt;/code&gt; 自身发出的 lint。&lt;/p&gt;
&lt;p&gt;关于为 &lt;code&gt;rustc&lt;/code&gt; 或 &lt;code&gt;clippy&lt;/code&gt; 等工具配置 lint 级别，见 &lt;a href="../the-manifest-format/#the-lints-section"&gt;Manifest 格式章节中的 lints 小节&lt;/a&gt;。&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;div class="td-alert td-alert--md alert alert-warning" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;警告&lt;/div&gt;
 &lt;div class="td-alert-body"&gt;
 &lt;p&gt;&lt;a href="../17-unstable-features/#lintscargo"&gt;Cargo 的 lint 系统尚不稳定&lt;/a&gt;，只能在 nightly 工具链上使用。&lt;/p&gt;</description></item><item><title>17-不稳定特性</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/17-unstable-features/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/17-unstable-features/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/cargo/"&gt;The Cargo Book&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="不稳定特性"&gt;不稳定特性&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/unstable.html"&gt;https://doc.rust-lang.org/cargo/reference/unstable.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;实验性的 Cargo 特性只在 &lt;a href="https://doc.rust-lang.org/book/appendix-07-nightly-rust.html"&gt;nightly 渠道&lt;/a&gt; 上可用。我们鼓励你试用这些特性，
看看它们是否满足你的需求，以及是否存在问题或缺陷。更多关于某个特性的信息，请查看下面列出的
跟踪 issue 链接；如果你希望获得后续更新，可以点击 GitHub 上的 subscribe 按钮。&lt;/p&gt;</description></item></channel></rss>