<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>03-指定依赖 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/</link><description>Recent content in 03-指定依赖 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 11 Aug 2026 23:57:44 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/index.xml" rel="self" type="application/rss+xml"/><item><title>01-覆盖依赖</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/01-overriding-dependencies/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/01-overriding-dependencies/</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="overriding-dependencies"&gt;覆盖依赖&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html"&gt;https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;覆盖依赖的需求可能产生于多种场景。然而，其中大多数都归结为：在 crate 发布到 &lt;a href="https://crates.io/"&gt;crates.io&lt;/a&gt; 之前就能使用它。例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你正在开发的 crate 也用在你正在开发的一个大得多的应用中，你希望在更大的应用内部测试对该库的 bug 修复。&lt;/li&gt;
&lt;li&gt;你未参与开发的上游 crate 在其 git 仓库的 master 分支上有新特性或 bug 修复，你希望试用。&lt;/li&gt;
&lt;li&gt;你即将发布 crate 的新主版本，但希望跨整个包做集成测试，以确保新主版本可用。&lt;/li&gt;
&lt;li&gt;你已向上游 crate 提交了你发现的 bug 的修复，但希望让你的应用立即开始依赖该 crate 的已修复版本，以避免阻塞在 bug 修复被合并上。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些场景可用 &lt;a href="#the-patch-section"&gt;&lt;code&gt;[patch]&lt;/code&gt; 清单节&lt;/a&gt;解决。&lt;/p&gt;</description></item><item><title>02-源替换</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/02-source-replacement/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/02-source-replacement/</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="source-replacement"&gt;源替换&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/source-replacement.html"&gt;https://doc.rust-lang.org/cargo/reference/source-replacement.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本文档关于将与&lt;a href="../../registries/"&gt;注册表&lt;/a&gt;或基于 &lt;a href="../../#specifying-dependencies-from-git-repositories"&gt;git 的依赖&lt;/a&gt;仓库的通信重定向到另一个数据源，例如镜像原始注册表的服务器或精确的本地副本。&lt;/p&gt;
&lt;p&gt;若你想给个别依赖打补丁，见本文档的&lt;a href="../01-overriding-dependencies/"&gt;覆盖依赖&lt;/a&gt;一节。若你想控制 Cargo 如何发出网络请求，见 &lt;a href="../../06-configuration/#http"&gt;&lt;code&gt;[http]&lt;/code&gt;&lt;/a&gt; 与 &lt;a href="../../06-configuration/#net"&gt;&lt;code&gt;[net]&lt;/code&gt;&lt;/a&gt; 配置。&lt;/p&gt;</description></item><item><title>03-依赖解析</title><link>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/03-dependency-resolution/</link><pubDate>Thu, 30 Jul 2026 14:49:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/cargo/cargo-reference/specifying-dependencies/03-dependency-resolution/</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="dependency-resolution"&gt;依赖解析&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/cargo/reference/resolver.html"&gt;https://doc.rust-lang.org/cargo/reference/resolver.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cargo 的主要任务之一，是根据各包（package）中指定的版本需求，确定要使用的依赖版本。这一过程称为「依赖解析（dependency resolution）」，由「解析器（resolver）」执行。解析结果保存在 &lt;a href="../../../cargo-guide/06-cargo-toml-vs-cargo-lock/"&gt;&lt;code&gt;Cargo.lock&lt;/code&gt; 文件&lt;/a&gt;中，将依赖「锁定」到特定版本，并随时间保持不变。&lt;a href="../../../cargo-commands/manifest-commands/08-cargo-tree/"&gt;&lt;code&gt;cargo tree&lt;/code&gt;&lt;/a&gt; 命令可用于可视化解析器的结果。&lt;/p&gt;</description></item></channel></rss>