6

私は Perl が初めてで、ActivePerlを使用しています。次のエラーが表示されます。

@INC で XML/LibXML.pm が見つかりません...

すべてを試しましたが、XML::LibXML の「正しい」モジュールをインストールする手順が見つかりません。

これがまさに何が起こっているかです。コマンド プロンプトからスクリプトを実行しています。

c:\temp>perl myscript.pl

myscript.pl の最初の数行:

#!/usr/bin/perl

use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use HTTP::Date;
use XML::Parser;
use LWP::UserAgent;
use XML::LibXML;
use Archive::Extract;
use Encode;
use LWP::Simple;

require HTTP::Request;
...

次に、次のエラーが表示されます。

c:\temp>perl myscript.pl myscript.pl 行 7 の @INC に XML/LibXML.pm が見つかりません (@INC には C:/Perl/site/lib C:/Perl/lib が含まれます)。失敗 -- myscript.pl 行 7 でコンパイルが中止されました

4

5 に答える 5

7

ActivePerl Perl Package Managerでインストールできるはずです。ActivePerl をインストールし、GUIを起動して xml-libxml と libxml-perl を検索すると、スタート メニューのショートカットが作成されているはずです。

- 編集

これは、PPM への代替リポジトリの追加と XML-LibXML のインストールに関する投稿です。

于 2009-09-07T22:43:13.070 に答える
3

ActiveState が XML::LibXML で PPM を提供しているようには見えません。CPAN のモジュールの README を調べたところ、ビルド前の ppm パッケージがここで入手できるようです。

于 2009-09-08T19:18:47.420 に答える
2

私は最近、XML::LibXML をインストールするのに苦労しました。これが私が見つけたものです:

  1. ActiveState ActivePerl 5.8.8 を使用しています
  2. ActivePerl の PPM がプロキシを通過するには、環境変数「http_proxy」を値「http://proxy.ext.[example].com」で作成し、再ログインする必要がありました。
  3. 必要なパッケージがすべて ActiveState のリポジトリにあるわけではありません。ウィニペグ大学の Perl リポジトリhttp://theoryx5.uwinnipeg.ca/ppms/package.xmlを追加しました (使用される正確なリポジトリは、ActivePerl のバージョンによって異なります)。
  4. 次の DLL を C:\perl\bin\ に手動でインストールします (何らかの理由で、これらの DLL をビルドするのに問題があったため、http://trouchelle.com/ppm/dll/のリポジトリから単純に入手することになりました)。 )
    • iconv.dll
    • libxml2.dll
    • zlib1.dll
  5. 少なくとも、使用している XML-LibXML のバージョンでは、前提条件である XML-LibXML-Common ではパッケージ インストーラーが正しく機能しません。残りの XML-LibXML をインストールする前に、パッケージ XML- LibXML -Common を単独でインストールする必要があります。

最新バージョンではないかもしれませんが、私が現在使用しているパッケージのバージョン (前提条件を含む) は次のとおりです。

  • XML-LibXML-Common (ver 0.13)
  • XML-LibXML (ver 1.64)
  • XML-NamespaceSupport (ver 1.10)
  • XML-SAX (ver 0.96)
于 2012-01-17T19:41:54.073 に答える
1

受け入れられた回答は、5.16 ではうまくいきませんでした。この質問から:

XML::LibXML は Perl 5.16 に対応していませんでした。5.14をインストール

ダウンロード:

于 2013-01-17T12:58:38.670 に答える
0

最終的に、私が知る限り、存在する唯一の代替 ActivePerl リポジトリを見つけました。これには、5.20.x までの perl バージョンにインストールされる XML::LibXML 2.0121 のパッケージが含まれていました。

5.20.2 を含む ActivePerl のリリースは、downloads.activestate.com/ActivePerl/releases/ から入手できます。

代替リポジトリは、bribes.org/perl/ で Bribes de Perl と呼ばれます。

options に入力するリポジトリの URL はhttp://bribes.org/perl/ppm/です。

于 2015-08-30T21:31:48.813 に答える