2011-12-24 40 views
3

私のスクリプトにperlモジュールをインポートしようとしたときに、perlモジュールが見つかりません。Perlモジュールが見つからない

#!/usr/bin/env perl 

use lib 'mnt/hgfs/scripting/perl/perlib/Array'; 

use Shell; 

#define all global variables here 

use List::MoreUtils 'first_index'; 
use List::MoreUtils 'last_index'; 

use Getopt::Long; 

use vars qw(%vectorList); 

use Array::Compare; 

私はそれは、モジュールがfound.Arrayは私が持っていたperlibディレクトリ内のディレクトリではないと言う私はperlibディレクトリ内のアレイモジュールをインストールしているにもかかわらず、以下のエラー -

Can't locate Array/Compare.pm in @INC (@INC contains:   mnt/hgfs/scripting/perl/perlib/Array /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at wellbiasing.pl line 12. 
BEGIN failed--compilation aborted at wellbiasing.pl line 12. 

を取得していますすべてのモジュールをArrayディレクトリ内に配置するために作成されたCompare.pmがあります。なぜ私はそれを実行することができないのですか?

+1

'mnt /'は相対パスのようです。さらなるトラブルを避けるために、通常は '@ INC'へのフルパスを追加します。 – toolic

答えて

10

変更:

use lib 'mnt/hgfs/scripting/perl/perlib/Array'; 

へ:

use lib 'mnt/hgfs/scripting/perl/perlib'; 

Arrayディレクトリには、Perlのモジュール検索パスの一部であってはなりません。

+3

OPのやり方を書いて、Perlは 'mnt/hgfs/scripting/perl/perlib/Array/Array/Compare.pm'を見つけようとしています。/hgfs/scripting/perl/perlib/Array/Compare.pm' –

+0

私はperlモジュールをインストールする際に多くの問題に直面しています。私はこの問題を一度に解決できる方法はありますか? – monucool

+0

@monucool:それは完全に別の質問です。私は、あなたがCPANモジュールについて話していると仮定します。どのようにモジュールをインストールしようとしていますか? http://perldoc.perl.org/cpan.htmlは標準的な方法です(お使いのOSによって異なります)。 – toolic

関連する問題