2011-11-01 147 views

回答

11

那么,这一切都取决于模块的预期用途。

本机的包管理有很多优点:

  • Perl模块将与您的系统,例如完美整合 文件位于右侧(系统相关)位置,脚本添加到 PATH等。
  • 自动升级和安全修补。
  • 可能是一个关注您的 模块的维护者或维护者组(例如Debian Perl组)。
  • 特定于分发的错误可以在到达主流 之前修复(可能不具备平台特定知识)。
  • 部署到具有相同操作系统版本的计算机时,可以将程序包依赖关系视为理所当然。

当从CPAN直接安装,也有一定的优势:

  • 您可以安装模块的最新版本。
  • 您可以安装该模块的特定版本(旧版本或开发者版本)。
  • 您可以微调模块的编译或安装参数。

如今,local::libperlbrewhowto)取得了CPAN方式很多关于开发商更有趣。 local::lib可让您在使用系统的perl二进制文件时拥有私有模块树,并且perlbrew可让您轻松创建自己的完整Perl安装(同时还有多个Perl版本)。

两种方法都是有效的,如上所述,优点取决于预期用途。

+0

非常感谢。 – moodywoody

3

使用本地CPAN客户端可以访问CPAN上的所有模块,其中大部分模块可能不是由您的发行版打包,但代价是您的发行版软件包管理器不知道它们已安装(用于依赖性解析等)。我知道Debian提供dh-make-perl软件包来将CPAN模块转换为debs,看起来它应该给你两全其美的好处,但我从来没有尝试过。

不过,最重要的是选择一种方法或其他方法,并坚持下去。