「Package Management」- 包管理系统

问题描述

很多「编程语言」或者「编辑器」都有一个”库“,称之为”扩展库“、”插件库“等等。库里存放了各种牛人开源的工具、插件等等”组件“。(大多数”库“都是以 HTTP 站点的形式存在的)

如果我们要使用这些”组件“,可以通过一个叫做「包管理器」(或者其他的名字)的东西进行下载。「包管理器」在下载之后,还会自动安装到我们所使用的工具中,无需过多的配置就可以使用该组件的功能;

解决方案

在 Linux 中,有 APT、YUM 等等包管理器,类似在编程语言中的 Composer、Cabal、NPM 等等,这些它们都是”包管理器“,或者有些是”依赖管理工具“,本质上来讲实现的功能是类似的,只是侧重点不同;

原理简述

所以说,一个「包管理系统」通常由两部分组成:
1)仓库:包含了所有的插件、工具的一个”源“。通常是一个 HTTP 站点;
2)包管理器:访问库,下载指定的”组件“,安装到系统中;

工具不同,包管理系统在组成上可能还会包含其他部分;

特性特征

WIP

应用场景

WIP

相关链接

Package Cloud: https://packagecloud.io
JForg Bintray: https://bintray.com/

参考文献

Wikipedia/Package manager
List of software package management systems