perl搜索路径中缺少site_perl目录

时间:2013-03-06 06:29:07

标签: perl perl-module

我是perl的noob。

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

在CentOS 5 perl -V输出上:

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 6 perl -V输出上:

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
    .

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

2 个答案:

答案 0 :(得分:2)

如果您使用的是CPAN模块,那么您应该让cpan实用程序确定安装软件包时文件的放置位置。

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

将开发模块放在每个用户的{{1}}列表中的目录中是个坏主意。

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

答案 1 :(得分:2)

特定于您网站的普通perl模块应位于以下目录:

perl -V:installsitelib

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

module-starter --module Your::Module::Name --author 'Your Name' --email your.email@example.com

将使用module-starter创建模板分发,您可以将代码复制到其中。