我已經在我的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