在一台机器上安装各种Perl安装共享cpan_home是否安全?

时间:2012-02-14 17:35:25

标签: perl cpan

我在Linux机器上有一个日期系统perl 5.8.8,并从ActiveState安装了一个5.12.4。 perl的cpan_home都是~root/.cpan。我正要更改新的perl cpan_home,但后来我意识到我没有知道我是否真的必须这样做,或者它是否只会导致下载多个模块副本事实上,他们可以分享到不同的目录。

他们也可以吗?安全吗?关于编译?或者我是否必须选择单独的cpan_home目录?

请注意,我首先尝试perlbrew,但失败了Can't load '../lib/auto/IO/IO.so' for module IO: ../lib/auto/IO/IO.so: wrong ELF class: ELFCLASS64 at ../lib/XSLoader.pm line 70.因此,我没有采用问题,而是选择了ActivePerl,它可以轻松安装。

1 个答案:

答案 0 :(得分:5)

我的系统上有十几个Perl版本,它们都使用~/.cpan。我从未遇到过问题,但我不能说这是安全的。这取决于其中的设置。具体来说,

  • build_dir_reuse应该(可能)为零。
  • makepl_arg不应包含INSTALL_BASE
  • mbuildpl_arg不应包含--install_base

“安装基础”覆盖安装模块的位置。如果您开始在一个位置安装所有构建的模块,则由于Perl的版本,发行版和构建版本之间不兼容而存在问题。

如果您想共享.cpan并拥有本地安装目录,则可以使用PREFIX=/home/username/perl5 LIB=/home/username/perl5/lib代替INSTALL_BASE=/home/username/perl5。它使用更智能的目录结构。

顺便说一下,local :: lib导致使用“install base”,所以如果你使用带有多个Perl安装的local :: lib,你会遇到问题。