2022年10月08日

包管理器

包管理器用于对库的管理,包括安装、移除和依赖处理等。

对于包管理器,可以考虑支持以下功能:

安装库

包括下载、编译(如有必要)、安装和移除。

  1. 可以指定多个安装位置;
  2. 可以设置自动安装依赖库,或者只安装指定库;
  3. 可以自由切换下载源;
  4. 支持本地下载源(如本地文件系统路径);
  5. 用户可以方便地自行制作下载源;
  6. 支持多个下载源;
  7. 方便配置使用网络代理;
  8. 对于编译型语言,可以提供编译源码的功能;
  9. 可以搜索源中有哪些库;
  10. 可以列出已安装的库;
  11. 支持移除库。

使用库

  1. 可以为语言工具正确配置搜索路径;
  2. 对于不能自动查找依赖库的语言工具,支持将库的依赖库全部展开;
  3. 对于需要按照先后顺序指定依赖库的语言工具,能将其依赖库按正确的先后顺序排列;
  4. 支持指定依赖某个特定版本的库;
  5. 支持同时安装库的多个版本,并让语言工具可以找到指定版本的库;
  6. 可以获取库的安装位置。

其它

  1. 在没有网络的环境下,还能使用;
  2. 不用此包管理器的工程,能否方便地使用它的库;
  3. 被包管理器管理的库能否依赖包管理器之外的库。