首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用非根和不带CPAN的方式安装Perl模块和依赖项。

使用非根和不带CPAN的方式安装Perl模块和依赖项。
EN

Stack Overflow用户
提问于 2012-12-19 16:10:17
回答 2查看 1.4K关注 0票数 3

我一直在为我的工作编写Perl脚本,而我被分配到的机器很难安装Perl模块:

  • 出于安全原因,我们不能在我的机器上安装gcc,所以对于大多数模块,我不能使用CPAN来安装模块。
  • 我无法访问根帐户。

通常,当我想安装一个模块时,我会输入一个请求,在安装它之前,我需要等待一两天。我知道没有人会对我自己安装它们有问题,所以为了节省大家的时间和我的理智,我想自己安装它们。这只是一个如何最好地做到这一点的问题。我已经和不同的人谈过了,他们说要用RPM来安装它们(不使用gcc)。但是,当尝试从RPM安装模块时,它不会处理依赖项,因此我需要手动处理依赖项,这可能需要一段时间。

如何最好地安装具有这些限制的Perl模块?

EN

回答 2

Stack Overflow用户

发布于 2012-12-19 17:46:15

在构建类似Perl的类似计算机上,使用

代码语言:javascript
复制
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库。

票数 3
EN

Stack Overflow用户

发布于 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/perl INSTALL_BASE告诉这些工具将模块放入/mydir/perl/lib/perl5中。有关如何运行新安装的模块的详细信息,请参见)在运行时?。 但是,对于INSTALL_BASE有一个警告,因为它的行为与较早版本的ExtUtils::MakeMaker所倡导的PREFIXLIB设置不同。INSTALL_BASE不支持在同一个目录下为不同版本的Perl或不同架构安装模块。您应该考虑是否真的需要这样做,如果确实需要,则使用旧的PREFIXLIB设置。有关详细信息,请参阅ExtUtils::more文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13957431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档