2017-04-20 14 views
0

RepeatMaskerというプログラムが動作するのに問題があります。私は次のエラーを取得する:cpanでインストールした後もPerlモジュールが見つかりません

~$ RepeatMasker 
Can't locate Text/Soundex.pm in @INC (you may need to 
install the Text::Soundex module) (@INC contains: /home/florian/Masterarbeit/RepeatMasker 
/etc/perl 
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1 
/usr/local/share/perl/5.22.1 
/usr/lib/x86_64-linux-gnu/perl5/5.22 
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 
/usr/share/perl/5.22 /usr/local/lib/site_perl 
/usr/lib/x86_64-linux-gnu/perl-base .) 
at /home/florian/Masterarbeit/RepeatMasker/Taxonomy.pm line 83. 

BEGIN failed--compilation aborted at /home/florian/Masterarbeit/RepeatMasker/Taxonomy.pm line 83. 
Compilation failed in require at /home/florian/Masterarbeit/RepeatMasker/RepeatMasker line 313. 
BEGIN failed--compilation aborted at /home/florian/Masterarbeit/RepeatMasker/RepeatMasker line 313. 

は今、私はCPAN/cpanmを経由して不足しているモジュールをインストールしようとした:

~$ cpan install Text::Soundex 
Loading internal null logger. Install Log::Log4perl for logging messages 
CPAN: Storable loaded ok (v2.53_01) 
Reading '/home/florian/.cpan/Metadata' 
    Database was generated on Thu, 20 Apr 2017 11:41:02 GMT 
Running install for module 'Text::Soundex' 
CPAN: Digest::SHA loaded ok (v5.95) 
CPAN: Compress::Zlib loaded ok (v2.068) 
Checksum for /home/florian/.cpan/sources/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz ok 
CPAN: File::Temp loaded ok (v0.2304) 
CPAN: YAML loaded ok (v1.15) 
CPAN: CPAN::Meta::Requirements loaded ok (v2.140) 
CPAN: Parse::CPAN::Meta loaded ok (v1.4414) 
CPAN: CPAN::Meta loaded ok (v2.150005) 
CPAN: Module::CoreList loaded ok (v5.20151213) 
Configuring R/RJ/RJBS/Text-Soundex-3.05.tar.gz with Makefile.PL 
WARNING: Option INSTALLDIRS=site was not recognized. (ignoring) 
The XS code will be compiled. 
Checking if your kit is complete... 
Looks good 
Generating a Unix-style Makefile 
Writing Makefile for Text::Soundex 
Writing MYMETA.yml and MYMETA.json 
    RJBS/Text-Soundex-3.05.tar.gz 
    /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK 
Running make for R/RJ/RJBS/Text-Soundex-3.05.tar.gz 
cp Soundex.pm blib/lib/Text/Soundex.pm 
Running Mkbootstrap for Text::Soundex() 
chmod 644 "Soundex.bs" 
"/usr/bin/perl" "/usr/share/perl/5.22/ExtUtils/xsubpp" -typemap "/usr/share/perl/5.22/ExtUtils/typemap" Soundex.xs > Soundex.xsc && mv Soundex.xsc Soundex.c 
x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"3.05\" -DXS_VERSION=\"3.05\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" Soundex.c 
rm -f blib/arch/auto/Text/Soundex/Soundex.so 
x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong Soundex.o -o blib/arch/auto/Text/Soundex/Soundex.so \ 
     \ 

chmod 755 blib/arch/auto/Text/Soundex/Soundex.so 
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Soundex.bs blib/arch/auto/Text/Soundex/Soundex.bs 644 
Manifying 1 pod document 
    RJBS/Text-Soundex-3.05.tar.gz 
    /usr/bin/make -- OK 
Running make test 
Running Mkbootstrap for Text::Soundex() 
chmod 644 "Soundex.bs" 
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t 
t/basic.t .. ok  
All tests successful. 
Files=1, Tests=18, 0 wallclock secs (0.01 usr + 0.00 sys = 0.01 CPU) 
Result: PASS 
    RJBS/Text-Soundex-3.05.tar.gz 
    /usr/bin/make test -- OK 
Running make install 
Manifying 1 pod document 
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree 
Installing /home/florian/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Text/Soundex/Soundex.so 
Appending installation info to /home/florian/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod 
    RJBS/Text-Soundex-3.05.tar.gz 
    /usr/bin/make install -- OK 

は、それが働いたようです。しかし、私はまだ上記の同じエラーを取得します。私はかなり失われています、それは間違った場所にインストールされていますか?どこ?

+2

'cpan'と' perl'が同じPerlのインストールのためのものであることを確認してください。 'perl'と' which cpan'を起動してください。また、 '@ INC'を' perl -E 'で調べて、@ INC''と言います。 'cpan'があなたのモジュールをそこにインストールしたパスですか? – simbabque

+0

cpanがモジュールをインストールした場所を確認する方法はありますか? cpan/perlが '/ usr/bin/perl'、'/usr/bin/cpan'を指しています – voiDnyx

答えて

6

CPANが非標準の場所(/home/florian/perl5/lib/perl5)にモジュールをインストールしていますが、Perlにモジュールを探すよう指示していません。

export PERL5LIB=/home/florian/perl5/lib/perl5 

または

use lib qw(/home/florian/perl5/lib/perl5); 
+0

私はこれを試しましたが、同じエラーが表示されます。 '〜$ echo $ PERL5LIB /home/florian/perl5/lib'(@INCには'/home/florian/perl5/lib'が含まれていますので、正しく見つかりましたか?) – voiDnyx

+2

1つのディレクトリに正しいパスが含まれていますより深い: '/ home/florian/perl5/lib/perl5' – daxim

+0

ありがとう、これは固定:)。ちなみに、デフォルトの場所にインストールするためにcpanをリセットするにはどうしたらいいですか? – voiDnyx

関連する問題