我一直在为我的工作编写Perl脚本,而我被分配到的机器很难安装Perl模块:
gcc,所以对于大多数模块,我不能使用CPAN来安装模块。通常,当我想安装一个模块时,我会输入一个请求,在安装它之前,我需要等待一两天。我知道没有人会对我自己安装它们有问题,所以为了节省大家的时间和我的理智,我想自己安装它们。这只是一个如何最好地做到这一点的问题。我已经和不同的人谈过了,他们说要用RPM来安装它们(不使用gcc)。但是,当尝试从RPM安装模块时,它不会处理依赖项,因此我需要手动处理依赖项,这可能需要一段时间。
如何最好地安装具有这些限制的Perl模块?
发布于 2012-12-19 17:46:15
在构建类似Perl的类似计算机上,使用
mkdir ~/foo
cpan
o conf makepl_arg 'PREFIX=~/foo LIB=~/foo/lib/perl5'
o conf mbuildpl_arg '--prefix ~/foo --lib ~/foo/lib/perl5'
install Some::Module只要您不执行o conf commit,配置更改将是临时的,所以不要这样做。
复制~/foo,并将env PERL5LIB设置为包含LIB目录。您可以将较新的~/foo合并为旧的,以添加新模块。
这将不会安装模块所依赖的任何非Perl库。
发布于 2012-12-19 18:33:09
还请参阅Perl第8节中的如何保存自己的模块/库目录?。
构建模块时,告诉Perl在哪里安装模块。 对于
Makefile.PL-based发行版,在生成Makefiles时使用INSTALL_BASE选项: perl Makefile.PL INSTALL_BASE=/mydir/perl 对于Build.PL-based发行版,请使用--install_base选项: perl Build.PL --install_base /mydir/perlINSTALL_BASE告诉这些工具将模块放入/mydir/perl/lib/perl5中。有关如何运行新安装的模块的详细信息,请参见)在运行时?。 但是,对于INSTALL_BASE有一个警告,因为它的行为与较早版本的ExtUtils::MakeMaker所倡导的PREFIX和LIB设置不同。INSTALL_BASE不支持在同一个目录下为不同版本的Perl或不同架构安装模块。您应该考虑是否真的需要这样做,如果确实需要,则使用旧的PREFIX和LIB设置。有关详细信息,请参阅ExtUtils::more文档。
https://stackoverflow.com/questions/13957431
复制相似问题