当前位置:  开发笔记 > 编程语言 > 正文

如何将CPAN模块安装到本地目录中?

如何解决《如何将CPAN模块安装到本地目录中?》经验,为你挑选了3个好方法。

我正在使用托管的Linux机器,所以我没有权限写入/usr/lib目录.

当我尝试通过以下方式安装CPAN模块时:

perl Makefile.PL
make test
make install

该模块被解压缩到一个blib/lib/文件夹.我保留了use blib/lib/ModuleName但是编译器仍然无法找到模块.我已经尝试将.pm文件复制到本地目录并保留 require ModuleName但仍然给我一些错误.

如何将模块安装到其他目​​录并使用它?



1> brian d foy..:

Stackoverflow上已有的其他答案:

如何在没有root访问的情况下在本地安装模块...

如何在没有安装权限的情况下使用新的Perl模块?

来自perlfaq8:


如何保留自己的模块/库目录?

构建模块时,请告诉Perl在哪里安装模块.

对于基于Makefile.PL的发行版,在生成Makefile时使用INSTALL_BASE选项:

perl Makefile.PL INSTALL_BASE=/mydir/perl

您可以在CPAN.pm配置中进行设置,以便在使用CPAN.pm shell时模块自动安装在您的私有库目录中:

% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit

对于基于Build.PL的发行版,请使用--install_base选项:

perl Build.PL --install_base /mydir/perl

您可以配置CPAN.pm以自动使用此选项:

% cpan
cpan> o conf mbuildpl_arg '--install_base /mydir/perl'
cpan> o conf commit


我认为发现问题的人应该编辑帖子.:)

2> 小智..:

我遇到了类似的问题,我甚至无法安装local :: lib

我创建了一个安装程序,它将模块安装在相对于.pl文件的某个位置

安装如下:

perl Makefile.PL PREFIX=./modulos
make
make install

然后,在需要该模块的.pl文件中,该文件位于./

use lib qw(./modulos/share/perl/5.8.8/); # You may need to change this path
use module::name;

其余文件(makefile.pl,module.pm等)不需要更改.

您可以使用.pl文件调用.pl文件

perl file.pl


没有理由修改你的脚本 - 设置PERL5LIB而不是使用`use lib`.local :: lib为你照顾这个 - 遵循它的指示,你应该没事.
使用INSTALL_BASE而不是PREFIX.
Perl v5.8.8(http://perldoc.perl.org/5.8.8/ExtUtils/MakeMaker.html)不支持INSTALL_BASE参数,它出现在v5.8.9(http://perldoc.perl.组织/ 5.8.9 /的ExtUtils/MakeMaker.html).

3> jrockway..:

local :: lib会帮助你.它会说服"make install"(和"Build install")安装到你可以写入的目录,它将告诉你perl如何获取这些模块.

一般来说,如果你想使用一个模块处于BLIB /目录下,你想说perl -Mblib ...这里...是你如何通常会调用你的脚本.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有