包管理系统并不是一开始就出现在编程的世界中的。C++ 语言对于通用代码的管理,最初使用的是函数。这在汇编中,将参数压栈再使用 call 指令来调用是同样的概念。慢慢的,开源软件开始流行,越来越多的项目会使用别人写好的库,虽然是方便,但导致项目依赖变得越来越复杂。新的编程语言都直接带了了官方的包管理工具,比如 Go 或 Rust,而古老的 C++ 语言也开始引入包管理工具。