Perl 在一台机器上共享一个cpan_主页是否安全?
我在Linux机器上安装了一个过时的系统perl 5.8.8,并从ActiveState安装了一个5.12.4。perl的Perl 在一台机器上共享一个cpan_主页是否安全?,perl,cpan,Perl,Cpan,我在Linux机器上安装了一个过时的系统perl 5.8.8,并从ActiveState安装了一个5.12.4。perl的cpan\u home都是~root/.cpan。我正要更改新的perl的cpan_home,但后来我意识到我不知道是否真的必须这样做,或者这是否只会导致模块的多个副本下载到不同的目录,而实际上它们可以共享 他们也可以吗?安全吗?关于编辑?或者我必须去单独的cpan\u home目录吗 请注意,我首先尝试了,但失败的原因是,无法加载“../lib/auto/IO/IO.so”
cpan\u home
都是~root/.cpan
。我正要更改新的perl的cpan_home
,但后来我意识到我不知道是否真的必须这样做,或者这是否只会导致模块的多个副本下载到不同的目录,而实际上它们可以共享
他们也可以吗?安全吗?关于编辑?或者我必须去单独的cpan\u home
目录吗
请注意,我首先尝试了,但失败的原因是,
无法加载“../lib/auto/IO/IO.so”模块IO:../lib/auto/IO/IO.so:错误的ELF类:ELFCLASS64位于../lib/XSLoader.pm第70行。
因此,我没有解决这个问题,而是选择了易于安装的ActivePerl,它们都使用~/.cpan
。我从来没有遇到过问题,但我不能说它是安全的。这取决于其中的设置。具体来说,
应该(可能)为零build\u dir\u reuse
不应包含makepl\u arg
INSTALL\u BASE
不应包含mbuildpl\u arg
--安装底座
.cpan
并拥有本地安装目录,您可以使用前缀=/home/username/perl5 LIB=/home/username/perl5/LIB
而不是install\u BASE=/home/username/perl5
。它使用更智能的目录结构
顺便说一句,local::lib会导致使用“install base”,因此如果在多次安装Perl时使用local::lib,您会遇到问题。谢谢,ikegami<代码>构建目录\u重用听起来确实有可能混淆事情。不过,我不确定我是否在关注您的wrt
INSTALL\u BASE
。这些设置驻留在CPAN/Config.pm
中,即使使用单独的.CPAN
设置,但如果设置错误地相同,您可能会将一个perl模块与另一个perl模块碰撞。另一方面,一个共享的.cpan
,其中每个perl都有自己合理的安装库
听起来不错,不是吗?但你比我有更多的代表性,所以你可能更了解……:)它们位于~/.cpan/cpan/MyConfig.pm
中。不同的版本如何共享配置文件,而不同的版本又有不同的设置?我没有您所指的~/.cpan/cpan/MyConfig.pm
。当我说CPAN/Config.pm
时,我指的是/usr/lib/perl5/5.10/CPAN/Config.pm
(或者任何有关perl的路径)。每个CPAN/Config.pm
都有相应的perl设置,但它们可能都共享一个~/.CPAN
目录;至少我认为他们可能,而你说他们在你的系统上有。@Lumi,我在这台机器上的任何安装中都没有CPAN::Config
(使用Debian和许多perlbrew版本)。一定是发行版添加的内容。您的perlbrew安装肯定不会附带一个,并且cpan
将在第一次运行时创建~/.cpan/cpan/MyConfig.pm
,除非您确保先创建cpan/Config.pm
。如果你要这样做,你最好让他们各自使用不同的目录。