我想问我的系统管理员安装各种Perl模块,如Moose
和Data::Alias
。该系统是运行Perl 5.8.8的Red Hat Enterprise Linux 5。我能想到的唯一问题是,一些已经安装的模块可能需要升级,从而冒着破坏某些东西的风险。还有什么我应该关心的?在服务器上安装额外的Perl模块时应该担心什么?
回答
我不知道贵公司的政策,但它可能会是一个更好的主意,不要乱用你的系统perl
并在不同的位置安装额外的库及其先决条件(甚至专门perl
),并使用lib
。
我们的系统管理员是关心确保所请求的Perl模块不会破坏系统中的其他任何东西的人。
因此,我们问,然后他们可以说“不,这将打破X,请安装在用户空间。”或者“出于兼容性原因,我们将在非标准位置安装Y”。在做出这个决定时,我不知道他们考虑的所有事情。我应该知道的唯一事情就是当模块安装/更新时,我的应用程序是否会中断。
如果您的系统管理员作为开发人员将此职责(即了解整个系统的影响)传递给您,那么与Sinan's suggestion配合使用并安装非标准模块需要更安全你自己的位置。不得不在同一时间成为系统管理员和开发人员,同时付钱只是一件事,这并不好玩。
感谢您的补充见解。 – 2009-12-01 15:38:23
这是特别是如果你使用的是共享主机或有一个托管服务提供商是持怀疑态度的安装Perl模块的一个经常被问到的问题。
有一个解决方法,一个方法来解决混合系统模块和自己的模块的这个问题,并修复被称为本地:: lib中。 local::lib为您提供了一种方法,可以将模块本地安装在您指定的库中,您可以控制该模块。您可以使用/ home/you/perl5 /或任何您认为可行的路径。
PS - 穆斯模块将最有可能不与其他干扰的Perl 5个模块,因为驼鹿有干净独立的命名空间。但是,它确实需要很多来自CPAN的模块,因此请提前警告您的系统管理员。 :)
另外,问你的系统管理员的Perl升级到5.10,带来很多好的新东西到Perl的核心,并允许您使用一些闪亮的新的Perl技术。
谢谢。我真正希望的是服务器运行Debian Lenny,以便5.10是标准的。 我想过建议升级到5.10,但担心它可能是其他开发商产生负面影响。 – 2009-12-01 15:47:34
是的,考虑到其他用户的方式,将避免问题。 :)一个人只是希望每个人都这样做。 好消息是,perl很难向后兼容,所以我不认为会有很多中断。但是,如果没有很多测试,当然很难知道。 – jeremiah 2009-12-03 12:17:13
诀窍是不要摆脱旧的设置,直到你知道你的新设置工作。蹭的是,CPAN工具链并不在意,并且会很乐意在新的文件上安装新的文件,而不会给你一种卸载你的破坏的方法。
如果我正在开发一个我要升级模块的大型项目,我喜欢将这些新模块放在他们自己的新目录中。我可以通过将PERL5LIB
设置为新目录来测试,如果不能解决问题,我只需简单更改环境就可以回到旧版本。
有些人对源代码管理做类似的事情。他们将模块目录放入版本控制系统中。当他们安装新模块时,他们检查源代码。当某些事情中断时,他们只是回滚更改。他们还可以标记版本,以便他们可以回滚到任何工作点。
非常感谢。这对我来说非常有用。 – 2009-12-01 22:08:34
- 1. 如何在受限制的服务器上安装Perl模块?
- 2. 在Apache Tomcat服务器上安装Perl模块,
- 3. 安装额外的Apache模块
- 4. RIA Services是否需要在服务器上额外安装?
- 5. 使用aptitude安装额外的PHP模块(在安装php后)?
- 6. 在什么时候我应该担心numpy值下溢?
- 7. Perl模块安装?
- 8. 我应该安装什么网络服务器?
- 9. 当安装两个版本的模块时,Perl会做什么?
- 10. 在Windows上安装Sqitch Perl CPAN模块
- 11. 如何在Windows上安装perl模块?
- 12. 计算机精度:我应该什么时候担心它?
- 13. 的Perl模块安装
- 14. perl的安装模块
- 15. 我应该担心从Web服务返回的URL中的'&'
- 16. 我应该在已安装Cpanel的服务器上安装Docker吗?
- 17. 如何在MAMP服务器上安装mod_ftp模块
- 18. 在网络服务器上安装python模块
- 19. 我应该在构建服务器上安装SDK吗?
- 20. 为什么我应该在安装maven facet时添加动态web模块?
- 21. Perl DBD :: Oracle模块安装
- 22. Windows服务器上安装的ffmpeg模块为PHP
- 23. Perl:安装CPAN模块时出错
- 24. 安装DBI Perl模块时出错
- 25. 在安装Perl模块时安装纯C二进制文件
- 26. 在WAMP服务器上安装时,我应该在magento 1.4.2.0的基准URL字段中编写什么内容?
- 27. 担心在Apache服务器上的python线程
- 28. 安装新模块时dmake实际上在做什么?
- 29. 在调用本地Web服务时,我应该担心HTTP开销吗?
- 30. 安全。客户端应该做什么以及服务器上有什么?
谢谢。这不是我想要的答案,但它是我需要的答案。 :) – 2009-12-01 15:14:39
不是你需要的那个答案吗? :) – 2009-12-01 15:42:23
非常真实,好点! – 2009-12-01 16:12:23