我一直在尝试通过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
答案 0 :(得分: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可执行文件(或操作系统的包装程序脚本)在$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
需要此模块,但它并未作为依赖项安装。