「CPANM」によってインストールされたモジュールが認識されないのはなぜですか?
質問
Perl-5.12.2を使用してインストールしました perlbrew
:
perlbrew install perl-5.12.2 -D=usethreads -D=useithreads -D=uselargefiles -f
その後、このバージョンに切り替えてインストールしました IPC::System::Simple
使用 cpanm
.
しかし、スクリプトを実行しようとすると、次のようになります。
Can't locate IPC/System/Simple.pm in @INC (@INC contains: /home/dave/workspace/proj1/scripts/bin/../lib /home/dave/src/bioperl-live /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2 .) at /home/dave/workspace/proj1/scripts/bin/../lib/createLayout.pm line 14.
また、次の監督も見つけました。~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple
しかし、それは空です(これが何かを意味するかどうかはわかりません)。
解決
何をしますか which cpanm
コマンドラインショーから?あなたのためにそれは報告する必要があります:
/home/dave/perl5/perlbrew/bin/cpanm
それが大丈夫なら、何をしますか ls -l /home/dave/perl5/perlbrew/bin/cpanm
公演?それは次のことを指摘する必要があります:
cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm
そして最後に ls -l /Users/barry/perl5/perlbrew/perls/current
あなたがに切り替えたperlを指す必要があります perlbrew
:
/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2
これらの3つはすべてこのようなものでなければなりません。そうでなければ何かが間違っています。
そうでない場合は、おそらく1つの問題がそれです cpanm
別のインストールされたPerlを指しています。あなたが持っている必要があります cpanm
Perlの各バージョンの各バージョンにインストールされています perlbrew
:
perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus
今if which cpanm
まだ表示されていません perlbrew
パスは、あなたが持っています $PATH
あなたの優先順位の問題 .bash_profile
(または同等の)ファイル。これは、あなたを確認することで修正できます perlbrew
ライン...
source /home/dave/perl5/perlbrew/etc/bashrc
...プロファイルでは、他のファイルの後になります export $PATH
線。
再ロギンに戻った後、あなたはこれが正しいことを確認することができます echo $PATH
そして、あなたは見るべきです perlbrew
パス文字列の最初(左)、すなわち。このようなもの:
/home/dave/perl5/perlbrew/bin:/home/dave/perl5/perlbrew/perls/current/bin:/usr/bin:/bin:/usr/local/bin:
他のヒント
試す このステップバイステップガイド, 、手順7と8(およびオプションで9)に細心の注意を払っています。