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(そのパスにある)を見つけることができないという不満がありました。 "perl -V"で検証したPERL5LIBへのパスを追加しましたが、それでもデバッガはそれを見つけることができません。
これはおそらく@INCパスの1つにGDをインストールすることですが、a)その方法はわかりませんし、b)実際に何が起こっているのか理解したいと思います。
これは私が違いを作るかのかどうか知りませんが、GD ::グラフは実際に私のメインのスクリプトに含まれるモジュールに使用されているのFedora Coreに12
です。メインスクリプトはそれを使用しません。
アップデート:以下の提案を参考にして、CPANに再入力してインストールを強制しました。 CPANはインストールが/root/.cpan/(etc)にあり、そのパスが@INCにあらかじめ保留されていると言いました。私は手動で.cpanディレクトリからGDを削除し、再度インストールに行きました。今回はCPANが同じ場所に置かれ、/usr/local/lib/perl5/GD-2.45PSn9K "にも置かれていました。それは@INCに両方のパスの前に置かれていました。そこに見ているが、それでもは(がある)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:
...そのパスを他のパスの中にリストします。実際にそこにあります:
012 Bourne互換で
これはCPANビルドディレクトリで、 'PERL5LIB'のどこかにファイルをインストールしているはずです。 CPANはビルドの最後にファイルをインストールしたディレクトリを一覧表示します –
'perldoc -lm GD :: Graph'を試して、インストールされている場所を見つけることもできます。 – dwarring