依赖
“当神灵想要惩罚我们时,他们会回应我们的祈祷。” – Oscar Wilde
几十年来,代码重用的想法只是一个梦想。代码可以编写一次,打包成库,然后在许多不同的应用程序中重用,这种想法是一种理想,只适用于少数标准库和企业内部工具。
互联网的发展和开源软件的兴起最终改变了这一现状。第一个可公开访问的存储库是 CPAN1:Comprehensive Perl Archive Network,它包含大量有用的库、工具和帮助程序,所有这些都打包起来以便于重用,该存储库自 1995 年起上线。如今,几乎每种现代语言都有一套全面的开源库,它们存储在一个软件包存储库中,使添加新依赖项的过程变得简单快捷。
然而,这种轻松、方便和快速也带来了新的问题。重用现有代码通常比自己编写代码更容易,但依赖他人的代码可能会带来潜在的陷阱和风险。本书的这一章将帮助您了解这些内容。
重点是 Rust,以及其对 Cargo 工具的使用,但所涵盖的许多关注点、主题和问题同样适用于其他工具链(和其他语言)。
1
除了 C 和 C++ 之外,包管理仍然有些分散。