使用CPAN,我已經安裝了GD :: Graph來製作水平堆疊條形圖。 CPAN將模塊安裝在/root/.cpan/build/GD-2.45-4PSn9K中,該文件不在@INC中。在我的腳本中,我可以通過添加爲什麼perl調試器找不到腳本找到的模塊?
use lib "/root/.cpan/build/GD-2.45-4PSn9K"
腳本現在生成沒有問題的圖表。我想使用perl調試器(「perl -d myscript.pl」),但它抱怨無法找到GD.pm(位於該路徑中)。我添加了PERL5LIB的路徑,用「perl -V」驗證,但調試器仍然找不到它。
也許一種解決方法是將GD安裝在@INC路徑之一中,但是a)我不知道該怎麼做,以及b)我真的很想知道發生了什麼。
這是在Fedora Core 12
我不知道是否有差別,但GD ::圖是由我的主腳本包括一個模塊中實際使用。主腳本不使用它。
更新:以下建議,我重新輸入CPAN並強制安裝。 CPAN表示它在/root/.cpan/(etc)中找到了安裝,並在@INC前面指出了該路徑。然後,我從.cpan目錄手動刪除GD,然後再次安裝。這次CPAN把它放在同一個地方,並且還放在/usr/local/lib/perl5/GD-2.45PSn9K「。它將兩條路徑都加入@INC。我已經驗證它在那裏,並且perl調試器聲稱尋找在那裏,但仍然找不到GD.pm(這爲有)並不會運行腳本
@INC:
/usr/local/lib/perl5/GD-2.45-4PSn9K/
(and others)
在Perl -d:
Can't locate loadable object for module GD in @INC (@INC contains:
...並列出其中的路徑。它確實在那裏:
[root /]# find . -name "GD.pm"
./usr/local/lib/perl5/GD-2.45-4PSn9K/GD.pm
./usr/local/lib/perl5/GD-2.45-4PSn9K/blib/lib/GD.pm
(and the /root/.cpan paths)
這是一個CPAN構建目錄,它也應該在'PERL5LIB'中安裝文件。 CPAN在編譯結束時列出它安裝文件的目錄 – 2010-12-15 22:20:49
您也可以嘗試'perldoc -lm GD :: Graph'來查找安裝的位置。 – dwarring 2010-12-15 22:24:35