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

Lum*_*umi 2 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,它很容易安装.

ike*_*ami 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,你会遇到问题.