以下是我的情况:我对Perl几乎一无所知,但它是移植机上唯一可用的语言。我只有权在我的本地工作区写入,而不是Perl安装位置。我需要使用CPAN中的Parallel::ForkManager Perl模块
如何在不进行集中安装的情况下使用此Parallel :: ForkManager?是否有可以设置的环境变量,因此它位于?
由于
JD
答案 0 :(得分:35)
来自perlfaq8: How do I keep my own module/library directory?:
构建模块时,请告诉Perl在哪里安装模块。
对于基于C的发行版,请使用INSTALL_BASE选项 生成Makefile时:
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
对于基于C的发行版,请使用--install_base选项:
perl Build.PL --install_base /mydir/perl
您可以配置CPAN.pm以自动使用此选项:
% cpan
cpan> o conf mbuild_arg --install_base /mydir/perl
cpan> o conf commit
INSTALL_BASE告诉这些工具将您的模块放入 F.有关如何运行新的详细信息,请参阅L. 安装了moudles。
但是,INSTALL_BASE有一个警告,因为它起作用 不同于早期版本的PREFIX和LIB设置 ExtUtils :: MakeMaker主张。 INSTALL_BASE不支持 为多个版本的Perl或不同版本安装模块 同一目录下的架构。你应该考虑一下 真的很想要,如果你这样做,请使用旧的PREFIX和LIB 设置。有关更多详细信息,请参阅ExtUtils :: Makemaker文档。
答案 1 :(得分:6)
查看Mark Dominus的this post
摘录:
- 构建Makefile时设置PREFIX = X
- 在构建Makefile时设置INSTALLDIRS = vendor和VENDORPREFIX = X.
- 或者可能代替VENDORPREFIX,你需要设置INSTALLVENDORLIB或其他东西
- 或者可能不是在构建Makefile时设置它们,而是需要在运行make install target时设置它们
- 构建Makefile时设置LIB = X / lib
- 使用PAR
- 使用local :: lib
Mark还在他的博客中提供了另一个解决方案,它需要更多的空间来进行desribe,但归结为运行make和make test但不是make install然后使用blib中的东西/。
答案 2 :(得分:5)
将包裹表格CPAN下载到文件夹:
wget http://search.cpan.org/CPAN/authors/id/S/SZ/SZABGAB/Parallel-ForkManager-1.06.tar.gz
gunzip Parallel-ForkManager-1.06.tar.gz
tar -xvf Parallel-ForkManager-1.06.tar
在此之前在家中创建一个文件夹来存储本地模块,现在进入下载文件夹并运行以下cmmands:
perl Makefile.PL PREFIX=/home/username/myModules
make
make test
make install
从已安装的文件夹/ home / username / myModules获取ForkManager的路径 并找到Parallel文件夹并获取完整的路径。
现在在你的perl文件中将这些放在开头
use lib '/home/username/myModules/bin.../Parallel';
use parallel::ForkManager;
- 应该这样做。
答案 3 :(得分:4)
在使用模块时,命令行上有PERL5LIB环境变量和-I
。告诉CPAN和CPANPLUS有一些机制。
CPAN手册的问题5中有信息(perldoc CPAN,或查看CPAN本身)。
答案 4 :(得分:3)
use lib 'directory';
use Parallel::ForkManager;
答案 5 :(得分:2)
您可以使用-I
(大写i)命令行开关,然后使用放置模块的目录;或者尝试“use lib”指令,后跟目录。
答案 6 :(得分:2)
答案 7 :(得分:2)
perl Makefile.PL LIB=/my/perl_modules/lib/
make
make install
PERL5LIB=$PERL5LIB:/my/perl_modules/lib/
perl myperlcode.pl
答案 8 :(得分:2)
使用cpanm -l $DIR_NAME
选项。
答案 9 :(得分:0)
考虑使用cpanminus,this other thread
上的建议答案 10 :(得分:0)
perlbrew
可让您使用本地perl并将其程序包安装到本地目录。
\curl -L https://install.perlbrew.pl | bash
perlbrew init # put this in .bash_profile etc
perlbrew install 5.27.11
perlbrew switch 5.27.11