这里是我的情况:我知道几乎什么都没有约Perl但它是唯一的语言提供一个移植的机器。我只有权写在我的地方工作的区域和不Perl安装位置。我需要用 平行::ForkManager Perl模块从支持

我怎么使用这个平行的::ForkManager没有做一个中心安装?是否有环境变量,我可以设置,所以它是在什么位置?

感谢

JD

有帮助吗?

解决方案

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

构建模块时,请告诉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文档。

其他提示

检查了 这个职位 从主人的标记

摘录:

  • 设置PREFIX=X时,建设Makefile
  • 设置INSTALLDIRS=供应商和VENDORPREFIX=X时,建设Makefile
    • 或者,也许,而不是VENDORPREFIX你需要设置INSTALLVENDORLIB或什么的
    • 或者,也许,而不是设置他们,而建筑物的生成文件的需要设置他们同时运行作出安装的目标
  • 设置LIB=X/lib当建立Makefile
  • 使用PAR
  • 使用当地::lib

标记还提供了另一个解决方案在他的博客中这需要多一点空间来desribe但归结到行使,并使试验,但不让安装并使用的东西在blib/.

将包裹表格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;

- 应该这样做。

在使用模块时,命令行上有PERL5LIB环境变量和 -I 。告诉CPAN和CPANPLUS有一些机制。

CPAN手册的问题5中有信息(perldoc CPAN,或者查看 CPAN 本身)

use lib 'directory';
use Parallel::ForkManager;

您可以使用 -I (大写i)命令行开关,然后使用放置模块的目录;或尝试“使用lib”指令后跟目录。

perl Makefile.PL LIB=/my/perl_modules/lib/
make
make install
PERL5LIB=$PERL5LIB:/my/perl_modules/lib/
perl myperlcode.pl

使用 cpanm -l $ DIR_NAME 选项。

考虑使用cpanminus,建议在这个其他主题

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top