2

CPAN から WWW::Mechanize::Firefox をインストールしようとしましたが、依存関係の MozRepl のインストールに問題があります。インストールは完了しますが、テストはすべて失敗し、強制インストールして perl スクリプトを実行すると、エラーが発生します

Failed to connect to ,  at /Library/Perl/5.12/MozRepl/RemoteObject.pm line 467.

そこで、MozRepl をアンインストールし、ログに次のエラーが表示されるテストを確認しました。

#   Failed test at t/10-plugin-repl-enter.t line 11.
Can't locate object method "repl_enter" via package "MozRepl" at t/10-plugin-repl-enter.t line 12.

...

#   Failed test at t/20-plugin-json.t line 16.
Can't locate object method "json" via package "MozRepl" at t/20-plugin-json.t line 17.

#   Failed test at t/19-plugin-repl-util-doc_for.t line 14.
Can't locate object method "repl_doc_for" via package "MozRepl" at t/19-plugin-repl-util-doc_for.t line 16.

#   Failed test at t/18-plugin-repl-util-help_url_for.t line 14.
Can't locate object method "repl_help_url" via package "MozRepl" at t/18-plugin-repl-util-help_url_for.t line 16.

等..

Mac OSX 10.8.4、4 GB RAM 2.5 Ghz、Perl バージョン 5.12 で実行しています。これらのエラーの原因は誰にも分かりますか?

更新: mozrepl を再インストールしましたが、スクリプトを実行すると次のエラーが発生します。

Failed to connect to , problem connecting to "localhost", port 4242: Connection refused at /Users/thui/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/MozRepl/Client.pm line 144
4

1 に答える 1

1

これは、perl 5.10 以降、最新の Firefox (執筆時点で 26)、および github の Mozrepl で機能します。

コマンドプロンプトで:

(1) MozRepl をダウンロードし、XPI ファイル (Firefox 拡張機能) をビルドします。

git clone git://github.com/bard/mozrepl
cd mozrepl
zip -r ../mozrepl.zip *
cd ..
mv mozrepl.zip mozrepl.xpi

(2) about:addons [ファイルからインストール] で拡張機能を Firefox にインストールします。

Firefox の場合:

(3) Menu -> Tools-> Mozrepl->Activate On Startup

(4) Menu -> Tools-> Mozrepl->Start

コマンドプロンプトで:

(5) which firefox

Firefox の実行可能ファイル (または OS のラッパー スクリプト) が含まれていることを確認してください$PATH。出力が得られるはずです。

(6) cpanm WWW::Mechanize::Firefox

(7)テストしてみよう!

この時点で、CPANminus がエラーを報告しない場合、WWW::Mechanize::Firefox は動作しているはずです。概要の最初の例は、適切なテストです。

#!/usr/bin/perl
use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get('http://google.com');

これは、MozRepl がポート 4242 でリッスンしていることを前提としています ([メニュー] -> [ツール] -> [Mozrepl] -> [ポートの変更] で確認してください)。perl 側からポートを変更することもできます。のオプションを参照してください->new()

(8) cpanm HTML::Display::Common

bcat.pl例から、このモジュールが必要であることがわかりましたが、依存関係としてインストールされていませんでした。

于 2013-12-30T12:20:16.483 に答える