【问题标题】:trouble installing MozRepl安装 MozRepl 时遇到问题
【发布时间】:2013-12-28 04:37:41
【问题描述】:

我一直在尝试通过 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

【问题讨论】:

  • 你使用cpanm吗?如果不是,它可以帮助您处理依赖项版本。
  • 我不确定,但您可能需要旧版本的 MozRepl(firefox 插件)。我认为 API 中发生了重大变化,但尚未将其应用于 MozRepl(perl 包)。
  • 我刚刚在 Firefox 上安装了 MozRepl 插件,但无济于事。是的,我正在使用 cpanm。我刚刚将我的 Perl 版本升级到 5.16 也无济于事。
  • 我用下面的工作配方创建了一个答案。我在一个新的虚拟机上安装了 Debian 7,安装了 Firefox,通过cpan 安装了 CPANminus,然后按照食谱进行操作。
  • 那里没有看到您的更新。如果它显示problem connecting to "localhost", port 4242: Connection refused,则意味着 MozRepl(Firefox 插件)没有在 FIREFOX 中运行。请参阅我的答案中的说明,了解如何正确安装和配置 MozRepl(Firefox 插件)。

标签: perl mozrepl


【解决方案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) 在 Firefox 中通过 about:addons [Install from file] 安装扩展。

在 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 需要这个模块,但它没有作为依赖项安装。

【讨论】:

  • 你好 - 我需要为 OpenSuse 13.1 版重新设计你的配方。我尝试安装 Mecha :: FireFox 很长时间了。一切都失败了。
猜你喜欢
  • 2014-09-11
  • 2013-12-24
  • 2020-02-27
  • 2018-02-25
  • 2011-06-06
  • 2021-04-14
  • 2016-03-23
  • 2018-09-25
  • 2018-04-18
相关资源
最近更新 更多