我已经在我的MacBook Pro上通过CPAN安装了模板模块,并且它似乎正确安装。Mac OS X中的两个Perl版本?
但是,当我试图运行一个脚本,其中包括模板模块,我得到如下:
无法找到Template.pm在@公司(@公司包含:/用户/ purinkle/Sites/rob/modules /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level/Library/Perl/Updates/5.10.0/System/Library/Perl/5.10.0/darwin-thread-multi- 2level /System/Library/Perl/5.10.0/Library/Perl/5.10.0/darwin-thread-multi-2level/Library/Perl/5.10.0/Network/Library/Perl/5.10.0/darwin-thread- multi-2level /Network/Library/Perl/5.10.0/Network/Library/Perl/System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/System/Library/Perl/Extras/5.10。 0。)at ./index.pl line 12.
BEGIN失败 - 编译中止在./index.pl线12
然后我觉得这事一定是走了安装过程中出错,并尝试通过CPAN重新安装,但收到以下消息:
模板是最新的(2.22)。
我已经运行instmodsh命令来尝试找到模块的安装位置。 instmodsh列出了这些目录:
的/ opt/local/bin目录
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level
的/ opt/local/lib目录/的perl5/SITE_PERL/5.8.9 /达尔文2level /模板
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Template/Manual
的/ opt/local/lib目录/ perl5/site_perl/5.8.9/darwin-2level/Template/Namespace
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Template/Plugin
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Template/藏匿
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Template/Tools
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/模板/教程
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/auto/Template/Stash/XS
/选择/本地/共享/人/ MAN1
/选择/本地/共享/人/ man3
它看起来像我有一些如何得到了两个不同版本的Perl安装(5.8.9和5.10.0),这导致了CPAN和其他Perl脚本之间的混淆。
我该如何验证此问题以及如何解决此问题?
我跑的命令
which perl
which cpan
,他们都返回/选择/ local/bin目录
运行
find/-name perl
回报
发现是:/ dev/fd/3:不是目录
发现是:/ dev/FD/4:不是一个目录
的/ opt/local/bin中/ perl的
/opt/local/etc/bash_completion.d/perl
的/ opt/local/var/macports/software/bash-completion/1.2_0/opt/local/etc/bash_completion.d/perl
/opt/local/var/macports/software/perl5.8/5.8.9_3/opt/local/bin/perl
/opt/local/var/macports/sources/rsync.macports.org/releas E /端口/ perl的
在/ usr/bin中/ perl的
在/ usr/local/bin中/ perl的
在/ usr /共享/文件/魔法/ perl的
和
find/-name cpan
回报
的/ opt/local/bin目录/ CPAN
/opt/local/var/macports/software/perl5.8/5.8.9_3/opt/local/bin/cpan
/用户/ purinkle /。 CPAN /编译/ CPAN - 1.9402 - KtN827/BLIB /脚本/ CPAN
/Users/purinkle/.cpan/build/CPAN-1.9402-KtN827/scripts/cpan
/Users/purinkle/.cpan/ build/CPAN-1.9402-zb0AeX/blib/script/cpan
/Users/purinkle/.cpan/build/CPAN-1.9402-zb0AeX/scripts/cpan
在/ usr/bin中/ CPAN
运行
perl -e 'print join "\n", @INC'
回报
/用户/ purinkle /网站/抢劫/模块
/选择/本地/ LIB /的perl5/SITE_PERL/5.8。9 /达尔文-2level
/opt/local/lib/perl5/site_perl/5.8.9
/选择/本地/ LIB /的perl5/SITE_PERL
/选择/本地/ LIB /的perl5/vendor_perl/5.8.9 /达尔文2level
/opt/local/lib/perl5/vendor_perl/5.8.9
的/ opt/local/lib目录/ perl5的/ vendor_perl
/选择/本地/ lib/perl5/5.8.9 /达尔文-2级
/opt/local/lib/perl5/5.8.9
请看到我的编辑答案,也可以为您发布的perl的-e输出“打印@INC \ n” – ennuikiller 2010-08-13 19:52:12