2017-02-23 8 views
0

XML/LibXMLパッケージを使用するスクリプトを実行しようとしています。 しかし、XML/LibXMLパッケージは既にインストールされています。私は次のコマンドを実行しました: perl -MXML :: LibXML -e 1.これは何も出力しませんでした。つまり、このパッケージがインストールされています。@INCにXML/LibXML.pmが見つかりません

私はスクリプトを実行しました。次のエラーが発生しました。

XMLを見つけることができません/ @INCでLibXML.pm(@INCが含まれています /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi は/ usr/libに/ perl5/site_perl/5.8.8/usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8/usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/usr/lib/perl5/5.8.8 )。 BEGINは失敗しました - コンパイルは中止されました。注意すべき

もう一つのポイントは、/ usr/lib64に/ perl5の/ site_perl/

この問題を克服することをお勧めしてください下には、ディレクトリ "5.8.8" がないです。

+2

スクリプト内のシバンとは何ですか? 'どのperl'から何の出力を得ますか? 'perl -MXML :: LibXML \ 999'からどのような出力を得ますか? – simbabque

+0

Re "*/usr/lib64/perl5/site_perl/*の下に"ディレクトリがありません "もう一度注意してください。"これは問題ではないでしょう。 – ikegami

+0

'perl -MXML :: LibXML -le'print"#! "の出力を提供してください。 $ INC {"XML/LibXML.pm"} ''とスクリプトの最初の行を出力します。 – ikegami

答えて

0

は三つの可能性があります。

  • あなたはperlの2つのインストールを持っていて、スクリプトが「間違った」ものを使用しています。

    のどちらかをスクリプトで使用perlを使用してXML ::のlibxmlをインストールするか、次の出力をスクリプトのシェバング(#!)行を置き換える:環境における

    perl -MXML::LibXML -le'print "#!".$^X' 
    
  • 違いを。

    XML :: LibXMLが非標準ディレクトリにインストールされている場合、テストを実行したときにPERL5LIBを使用してこれをperlに伝えることができますが、スクリプトを実行するときはそうではありません。

  • 許可の問題。

    これはあまりありません。

    スクリプトがテストと同じユーザーとして実行されている場合は、アクセス許可の問題ではありません。

    許可の問題の場合は、スクリプトを実行しているユーザーがライブラリディレクトリにアクセスできることを確認してください。

関連する問題