使用apt-get而不是cpan安装perl模块的目的

Cod*_*ess 6 perl perl-module

在将必需品加载到我的烤面包片中时,apt-get建议我安装libtemplate-perl.这似乎是一个快乐的想法,我服从了.

阅读这个答案,我看到一位旅行者通过CPAN安装Plack和Starman,但随后使用apt-get安装Dancer.

在阅读上述答案前几分钟,我通过CPAN安装了Dancer.它起作用了.它真的很棒!

当我通过非CPAN包管理器安装CPAN包时会发生什么?是否存在我需要警惕的陷阱,因为我的libtemplate-perl来自apt-get,或者我的Dancer来自CPAN?

Cha*_*hak 9

在Debian和Ubuntu上CPAN(/usr/bin/cpan实用程序)/usr/local/lib/默认安装模块.debian软件包将文件保存在/usr/share/perl5/和/usr/lib/perl5/.

您还可以选择手动打包apt资源库中不可用的任何cpan分发.在dh-make-perl工具的帮助下很容易:

dh-make-perl --cpan Some::Module && cd Some-Module* && sudo debi
Run Code Online (Sandbox Code Playgroud)

另请查看local :: lib和perlbrew.

  • 一个简短,正确的答案与奖金信息 - 最好的! (2认同)

Kao*_*oru 7

很多教程,Stack Overflow答案,演练等都不会假设您知道如何使用/ usr/bin/cpan而是建议您使用系统的包管理器,您更有可能熟悉.

如果您使用的是使用特定语言编写的工具,但您不了解该语言,则尤其如此.例如,许多人不关心crouton是用Perl,Python还是Lisp编写的,他们只是想要一个他们可以使用的工具.你的普通Debian或Ubuntu用户比cpan更容易熟悉apt-get.

如果你想在Perl中编程,我建议使用perlbrew和/或local :: lib来安装cpan .如果您只是想安装一个可以使用的工具,我建议使用apt-get.


此外,apt-get的优势在于可以自动安装非Perl依赖项.例如,CPAN模块XML :: LibXML要求libxml2头在系统上可用; CPAN发行版无法将其视为依赖项,如果可以找到要链接的标题,则只会在安装时失败.Debian包实际上可以指定libxml2是一个依赖项,并将自动为您安装依赖项.

尽管如此,如果您希望将XML :: LibXML用作Perl程序员,我建议您使用cpan安装它并通过apt-get安装libxml2软件包.将所有Perl模块安装在同一个地方 - 再次通过perlbrew或local :: lib - 将帮助您在将来保持理智.在这种情况下,CPAN比apt-get更可取,因为并非所有发行版都已经为Debian打包,因此如果直接使用CPAN,您将获得更多选项.


总结:TIMTOWTDI ;-)