我不明白use local::lib
那个常规use lib
没有什么。有人可以解释一下吗?
问问题
3323 次
3 回答
20
local::lib
~/perl5
如果您不指定目录(虽然use lib;
是无操作) ,则默认为。在将相对路径添加到
@INC
. (lib
只需按原样添加相对路径。)展开
~
并~user
在目录名称中。附加
/lib/perl5
到您指定的目录。(所以use local::lib '/foo';
有点等价于use lib '/foo/lib/perl5';
。)预先添加
DIR/bin
到您的 PATH 中,因此您可以使用本地模块安装的脚本。
于 2011-01-26T09:12:39.810 回答
6
use lib
将目录添加到您的模块搜索路径 ( @INC
)。use lib
它对包含该指令的程序或模块之外的任何内容都没有影响。
local::lib
旨在用于启用私有模块安装目录,如果您按照推荐的方式配置 shell 环境,此私有目录将用于所有 Perl 模块安装(无论是通过 CPAN 还是手动make install
),并且安装在那里的模块将可用于在您的local::lib
-aware shell 环境中运行的所有 Perl 程序/模块。
于 2011-01-26T09:15:14.490 回答
5
常规use lib foo
几乎就像:
BEGIN { unshift(@INC, foo) }
而use local::lib
设置许多其他 Perl 环境变量以确保您可以在本地安装模块,请参阅源代码。
于 2011-01-26T09:04:31.410 回答