Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在服务器上安装额外的Perl模块时,我应该考虑什么?_Perl_Installation_Module - Fatal编程技术网

在服务器上安装额外的Perl模块时,我应该考虑什么?

在服务器上安装额外的Perl模块时,我应该考虑什么?,perl,installation,module,Perl,Installation,Module,我想让我的系统管理员安装各种Perl模块,如Moose和Data::Alias。该系统是Red Hat Enterprise Linux 5,运行Perl 5.8.8。我能想到的唯一问题是,一些已经安装的模块可能需要升级,因此可能会有损坏的风险。我还应该关心什么?我不知道贵公司的政策,但最好不要弄乱您的系统perl,将附加库及其必备组件(甚至是专用的perl)安装在不同的位置并使用 另请参见。我们的系统管理员负责确保请求的Perl模块不会破坏其系统上的任何其他模块 所以我们问,然后他们可以说“不

我想让我的系统管理员安装各种Perl模块,如
Moose
Data::Alias
。该系统是Red Hat Enterprise Linux 5,运行Perl 5.8.8。我能想到的唯一问题是,一些已经安装的模块可能需要升级,因此可能会有损坏的风险。我还应该关心什么?

我不知道贵公司的政策,但最好不要弄乱您的系统
perl
,将附加库及其必备组件(甚至是专用的
perl
)安装在不同的位置并使用


另请参见。

我们的系统管理员负责确保请求的Perl模块不会破坏其系统上的任何其他模块

所以我们问,然后他们可以说“不,这会破坏X,请在用户空间安装它。”或者“出于兼容性原因,我们将在非标准位置Y安装它。”我不知道他们在做出决定时考虑的所有事情。我唯一应该知道的是,当安装/更新模块时,我的应用程序是否会崩溃


如果您的系统管理员将此责任(即了解对整个系统的影响)传递给您作为开发人员,那么您自己在非标准位置安装所需的模块可能会更安全。必须同时成为一名系统管理员和一名开发人员,而只为其中一人付费,这一点都不好玩。

这是一个经常被问到的问题,尤其是当您使用共享托管或有一个托管提供商对安装perl模块持怀疑态度时

有一种修复方法,可以解决混合系统模块和您自己的模块的问题,该修复方法称为local::lib。提供一种方法,让您可以在自己指定的库中本地安装模块,您可以控制该库。例如,您可以使用/home/You/perl5/或任何您认为有效的路径

PS-Moose模块很可能不会干扰其他Perl5模块,因为Moose具有干净且独立的命名空间。但是,它确实需要来自CPAN的许多模块,因此请提前警告您的系统管理员。:)


另外,请您的系统管理员将perl升级到5.10,这将为perl的核心带来许多新的好东西,并允许您使用一些全新的perl技术。

诀窍是在您知道新设置正常工作之前不要摆脱旧设置。问题在于CPAN工具链并不在意,它会很乐意在旧文件的基础上安装新文件,而不会给你卸载损坏的文件的方法

如果我在一个大项目中工作,我要升级模块,我喜欢将新模块放在它们自己的新目录中。我可以通过将
PERL5LIB
设置到新目录来测试,如果不起作用,我可以通过简单的环境更改回到旧设置


有些人对源代码管理做了类似的事情。他们将模块目录放在版本控制系统中。当他们安装新模块时,他们会签入源代码。当一些东西坏了,他们只是回滚更改。他们还可以标记版本,以便回滚到任何工作点。

谢谢。这不是我想要的答案,但却是我需要的答案。:)你需要的答案不是你想要的吗?:)谢谢我真正希望的是服务器运行的是Debian Lenny,这样5.10将成为标准。我曾考虑建议升级到5.10,但担心这可能会对其他开发人员产生负面影响。是的,以您的方式考虑其他用户将避免出现问题。:)人们只希望每个人都这样做。好消息是perl非常努力地实现向后兼容,所以我认为不会有太多的中断。当然,如果没有大量的测试就很难知道。非常感谢。这对我很有用。