我在Mac上安装了ActivePerl (5.24.3.1),并对CPAN的安装造成了“破坏”。新安装与“site/lib/”中的“核心CPAN.pms”分离。
无论如何,我已经将下面的内容卡在我的目录.cshrc中
setenv PERL5LIB PERL5LIB:/usr/local/ActivePerl-5.24/lib:/usr/local/ActivePerl-5.24/site/lib我编的,但一切似乎都正常。这是有效密码吗?
发布于 2019-03-02 19:20:41
该行正确地附加到环境变量PERL5LIB中的tcsh中。
从man tcsh到我的系统
没有参数的setenv [name value]打印所有环境变量的名称和值。给定名称时,将环境变量名称设置为值,如果没有值,则设置为空字符串。
tcsh中的环境变量可以设置为一个值,该值通过用冒号(:)分隔条目来表示列表。因此,PERL5LIB:...是一种附加到PERL5LIB现有值的方法。
PERL5LIB,如在perlrun所解释的,是
在查看标准库和当前目录之前查找Perl库文件的目录列表。任何特定于体系结构的目录和特定于版本的目录,例如version/archname/、version/或archname/在指定的位置下都会自动包含,如果它们存在,则在解释器启动时完成此查找。
但是请注意,“当前目录”不再被搜索到库,这在现代Perl版本中是一种安全增强。
因此,您的行是将/usr/local/ActivePerl位置添加到您的Perl版本中设置的默认路径中。
我不知道ActivePerl是如何和为什么“对CPAN安装造成破坏”(?)在Mac上,我猜想您已经安装了另一个Perl (通过您提到的"CPAN安装“),但是我不知道您现在使用的是哪个ActiveState (以及?)。
发布于 2019-03-06 09:24:41
总结了,@INC命令行查询的输出表明ActiveStates Perl自动看到CPAN库,因此.cshrc中的"setenv PERL5LIB PERL5LIB:....:...."复制了@ikegami标识的内容。
Perl的最新稳定ActiveStates实现运行良好,主要问题是对‘site/lib’目录的权限(OS安装而不是Linux)。
但是,我的编码应用程序(BBEdit,Version12.6.1)确实要求在"run“函数工作之前在.cshrc中设置PERL5LIB。因此,@z线人的反应在上下文中是有用的。感谢两位响应者,非常感谢。
https://stackoverflow.com/questions/54961818
复制相似问题