我的工作是记录如何在干净的服务器上安装一个非常复杂的应用程序。应用程序的一部分需要大量的perl脚本,每个脚本似乎都需要很多不同的perl模块。
我对perl不太了解,我只知道一种安装所需模块的方法。这意味着我的文档现在看起来如下:
键入这些命令中的每一个,并接受所有默认值:Log4perl -e 'install JSON‘sudo perl -MCPAN -e 'install日期::Simple’sudo perl -MCPAN -e 'install Log::Log4perl‘sudo perl -MCPAN -e 'install Email::Simple’(.继续2页..。)
有什么办法我可以像我这样有天赋地做所有这一行吗?
输入以下命令并获得一个咖啡: sudo智能安装openssh-server libriache2-mod-perl2 2构建-必需的.
谢谢(代表将要阅读我的文件的长期受苦的人们)
编辑:最好的方法是使用打包版本。对于未打包为Ubuntu10.10的模块,我最终得到了一个小小的perl脚本,我找到了这里 )
#!/usr/bin/perl -w
use CPANPLUS;
use strict;
CPANPLUS::Backend->new( conf => { prereqs => 1 } )->install(
modules => [ qw(
Date::Simple
File::Slurp
LWP::Simple
MIME::Base64
MIME::Parser
MIME::QuotedPrint
) ]
);这意味着我可以在我的文档中放置一条很好的衬垫:
sudo perl installmodules.pl发布于 2011-02-22 16:23:31
根据您的发行版,可能已经打包了许多perl模块。
在使用CPAN之前,请检查某些/大部分/所有需要的包是否已经可用于发行版。
发布于 2011-02-22 16:38:08
我发现CPAN不太适合长期运行的系统,因为随着时间的推移,更新模块似乎不太理想。
我建议使用您的系统内置的包管理系统。通过使用特定于发行版的存储库,您应该可以减少依赖关系的问题,并且随着模块的更新,您也会收到新的版本。因为您似乎在使用Ubuntu,所以您可能需要启用一些额外的存储库,如world、metaverse或uber-超内部存储库。
如果做不到这一点,就会有一个名为Linux包搜索的相对较新的网站,试图为各种系统编译包。如果没有其他地方的话,我很幸运地找到了我需要的任何额外的包。
发布于 2011-02-22 17:45:49
如果您需要从源代码安装这些模块(我经常需要这样做,因为我将它们作为非根用户安装在系统标准以外的位置),我建议CPANPLUS作为一个有价值的升级到标准CPAN -它处理依赖解决方案,并可以在您喝咖啡时自动安装所有模块的依赖项。
此外,如果您正在安装的这个大型复杂的应用程序也分布在CPAN上(我将外界猜测它是每个人最喜欢的perl依赖噩梦RT ),那么CPAN上通常也会有一个Bundle::AppName包,它将该应用程序的给定版本所需的所有内容汇总起来。
希望这会有所帮助;祝你好运!
https://serverfault.com/questions/238725
复制相似问题