0

この不思議なモジュールのドキュメントが不足していることは知っていますが、ImはStrawberry Perlを実行しており、インストールできれば幸いです。私は通常、コマンドラインから次のようなものを実行してモジュールを取得します。

cpan WWW::Selenium

たとえば、WWW::Seleniumを取得します。しかし、私が走るとき

cpan Lucene

私はこれをすべて手に入れました、そして、これまでこれを見たことがないので、私はより良いリードの欠如のためにウィンドウズに指を向けます:

C:\Users\PHJohnson\Desktop>cpan Lucene
CPAN: CPAN::SQLite loaded ok (v0.202)
Database was generated on Mon, 25 Jun 2012 18:28:43 GMT
Running install for module 'Lucene'
Running make for T/TB/TBUSCH/Lucene-0.18.tar.gz
CPAN: Digest::SHA loaded ok (v5.63)
CPAN: Compress::Zlib loaded ok (v2.042)
Checksum for C:\strawberry\cpan\sources\authors\id\T\TB\TBUSCH\Lucene-0.18.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.80)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.4401)
CPAN: CPAN::Meta loaded ok (v2.112621)

CPAN.pm: Building T/TB/TBUSCH/Lucene-0.18.tar.gz

couldn't find clucene config file at Makefile.PL line 34.
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL]
TBUSCH/Lucene-0.18.tar.gz
C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequisites

C:\Users\PHJohnson\Desktop>

どうすればこれを修正できますか?WindowsでLuceneライブラリを入手できますか?

4

2 に答える 2

3

一部の Perl モジュールは、一部のライブラリやシステム ツールの単なるラッパーであり、Perl プログラム内で自然に使用できます (使い慣れた構文構造などを使用) 。Luceneも同じ方法で構築されます。CLucene インデックス ライブラリのラッパーです。

したがって、(Perl ではよくあることですが) 2 つのオプションがあります:ソースからCLucene をビルドしてみる(Windows で動作するかどうかわからないので、「試して」と言いました) - または同様の解決策を探します。 、KinoSearch (またはそのフォークであるKinoSearch1 - どちらもレビュアーによる評価が非常に高い) やPluceneなどです。後者は、実際には Lucene 検索エンジンの Perl ポートであり、ラッパーではありません。

于 2012-06-25T19:20:51.003 に答える
2

Makefile.PLを見ると、モジュールはWindowsで動作するように設計されていません。「C:\ Strawberry \ cpan \ build \」(私のマシン上)の下にあるMakefile.PLを見ると、次のようなものが表示されます。行〜8:

## Hash that specifies for each OS all possible directories to look
## for CLucene/clucene-config.h
my $rh_include_dirs = {
     "linux"   => ["/usr/include",       "/usr/lib"], 
     "freebsd" => ["/usr/local/include", "/usr/local/lib"], 
     "darwin"  => ["/usr/local/include", "/usr/local/lib"],
};

LuceneがWindowsにインストールされているパスを使用して別のエントリを追加してみることができます。

my $rh_include_dirs = {
     "linux"   => ["/usr/include",       "/usr/lib"], 
     "freebsd" => ["/usr/local/include", "/usr/local/lib"], 
     "darwin"  => ["/usr/local/include", "/usr/local/lib"],
     "MSWin32" => ["path to your lucene install"],
};

perl Makefile.PLファイルを更新して保存すると、通常のファイルを実行してから、通常のmakeand make install(またはWindowsではnmake)を実行できるようになります。Makefile.PLスクリプトはmake、パッケージのビルドとインストールに必要なファイルを生成します。

Luceneを持っていないので、試してみることができません...

于 2012-06-25T18:54:49.537 に答える