首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perl搜索路径中缺少site_perl目录

perl搜索路径中缺少site_perl目录
EN

Stack Overflow用户
提问于 2013-03-06 14:29:07
回答 2查看 4K关注 0票数 0

我是perl的新手。

我在CentOS 5上使用了安装在/usr/lib/perl5/site_perl上的perl模块。在CentOS 6上,perl搜索路径(@INC)中缺少该目录。

在CentOS 5perl -V输出上:

代码语言:javascript
复制
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  .......
  .......
  Built under linux
  Compiled at Sep  3 2009 10:26:51
  @INC:
    /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl
    /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl
    /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/5.8.8
    .

在CentOS 6perl -V输出上:

代码语言:javascript
复制
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
  .....
  .....
  Built under linux
  Compiled at Jun 22 2012 13:27:28
  @INC:
    /usr/local/lib64/perl5
    /usr/local/share/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5
    .

我现在应该把arch独立的东西放在哪里?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-06 16:10:06

特定于您的站点的纯perl模块应该放在下面给出的目录中:

代码语言:javascript
复制
perl -V:installsitelib

考虑创建一个Makefile.PL或Build.PL并使用它来安装模块;

代码语言:javascript
复制
module-starter --module Your::Module::Name --author 'Your Name' --email your.email@example.com

我将使用module-starter创建一个模板发行版,您可以将代码复制到其中。

票数 2
EN

Stack Overflow用户

发布于 2013-03-06 15:42:10

如果您使用的是CPAN模块,那么您应该让cpan实用程序决定在安装软件包时将文件放在哪里。

如果模块是您自己编写的,那么可以将代码放在当前工作目录中(您将看到.@INC中的最后一项),或者放在由环境变量PERL5LIB指定的单独目录中,或者放在带有use lib的Perl源文件中。

将开发模块放在每个用户的@INC列表中的目录中不是一个好主意。

如果您需要一个单独的永久目录来存放站点库,那么您应该用一个额外的库路径重新构建Perl。

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

https://stackoverflow.com/questions/15240490

复制
相关文章

相似问题

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