当前位置:嗨网首页>书籍在线阅读

02-软件包管理器

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.1 软件包管理器

“高效开发的关键在于不断制造一些新的有趣错误。”

——Tom Love

实际的软件代码块通常被组织成多个文件,并且具有许多依赖项,同时需要专用的工具来管理。软件包管理器是一种命令行工具,可帮助用户管理具有多个依赖项的大型项目。如果你用过Node.js,必然会非常熟悉npm/yarn,或者是Go语言,那么应该熟悉Go工具。它们完成了项目分析、下载正确版本的依赖项、检查版本冲突、编译和链接源文件等所有烦琐的工作。

诸如C/C++这样的底层语言的问题在于,默认情况下它们没有附带专用的软件包管理器。C/C++社区长期以来使用GNU Make工具,它是一个与程序语言无关的构建系统,并且具有奇特的语法,这使得许多开发人员望而却步。GNU Make工具的问题在于它不知道C/C++源代码中包含哪些头文件,因此必须手动添加这些信息。它没有内置支持下载外部依赖项的功能,也不了解正在运行的平台。幸运的是,Rust不属于这种情况,因为它附带了一个专用的软件包管理器,它在所管理的项目上有更多的上下文信息。接下来,我们将开始Rust的软件包管理器Cargo的探索之旅,它可以轻松地构建和维护Rust项目。但是首先,我们需要深入探讨Rust的模块。