在运行perl scirpt时出现以下错误。
Can't locate Date/Parse.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.1 /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.1 /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.1 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at ../../tools/replace_tenant_json_data.pl line 27.
BEGIN failed--compilation aborted at ../../tools/replace_tenant_json_data.pl line 27.
从上面的错误我推断perl看起来模块的错误目录。 正确的目录是/System/Library/Perl/5.16
命令env -I perl -V与perl -V
的形式不同`env –I perl –V
@INC:
/Library/Perl/5.16/darwin-thread-multi-2level
/Library/Perl/5.16
/Network/Library/Perl/5.16/darwin-thread-multi-2level
/Network/Library/Perl/5.16
/Library/Perl/Updates/5.16.2
/System/Library/Perl/5.16/darwin-thread-multi-2level
/System/Library/Perl/5.16
/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.16
perl –V
@INC:
/opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level
/opt/local/lib/perl5/site_perl/5.16.1
/opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level
/opt/local/lib/perl5/vendor_perl/5.16.1
/opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level
/opt/local/lib/perl5/5.16.1
/opt/local/lib/perl5/site_perl
/opt/local/lib/perl5/vendor_perl`
答案 0 :(得分:3)
@NigoroJr在主要问题(cpan install Date::Parse
)下的评论中给出了正确的提示,但我将阐述perl -V
输出中的差异。
来自env
的Darwin手册页:
SYNOPSIS
env [-i] [name=value ...] [utility [argument ...]]
DESCRIPTION
env executes utility after modifying the environment as specified on the command line. The option
name=value specifies an environmental variable, name, with a value of value. The option `-i' causes
env to completely ignore the environment it inherits.
因此,当您运行env -i perl -V
时,您将获得一个空白/默认环境,即获取系统安装的perl。当你只运行`perl -V'时,你会得到你实际使用的版本,看起来像是你安装的版本。