Windows上的Perl的站点和站点\ lib目录位置

时间:2011-04-03 08:27:34

标签: windows perl strawberry-perl

我是一名PHP程序员,刚刚被分配任务来处理一些Perls的东西 - 我需要安装模块。

但有人可以在安装模块时向我澄清'lib'和'site \ lib'之间的区别。一个模块安装在一个模块而不是另一个模块中的标准是什么?

这在Windows上是否真的相关(对不起在UNIX上工作过。)

我正在使用Strawberry Perl 5.12.2.0。

3 个答案:

答案 0 :(得分:6)

lib/包含Perl附带的模块。 site/lib/包含您自己安装的模块。 Perl本身并没有对两者进行任何区分。

如果site/lib/对于全新安装不是空的,可能是因为Strawberry在其发行版中包含通常不与Perl一起打包的模块。 (我知道ActivePerl会这样做。)

答案 1 :(得分:0)

这几乎是相关的。有时您必须将env var PERL5LIB设置为“site \ lib; lib”,有时它是相反的方式。

示例(自2011年4月起生效):

Perl 5.12包括Try :: Tiny 0.6。

如果您要安装Test :: Fatal,它需要Try :: Tiny 0.7 +。

所以你必须从CPAN更新它:然后你会得到Try :: Tiny 0.09

但只有当你告诉perl首先查看site \ lib时才会加载0.09。

答案 2 :(得分:0)

最近的草莓Perl名为:strawberry-perl-5.28.1.1-64bit-portable, 将@INC指定的位置显示为:

  @INC:
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/site/lib
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/vendor/lib
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/lib

进入供应商的原因...仍然未知...
(随时进行编辑。)