在Windows上安装用于Perl的cURL模块

4
我在我的Windows机器上安装了ActivePerl 5.14.2。我一直在尝试安装LWP cURL模块。我已经在我的机器上安装了libcurl-dev库和GCC。
我也知道LWP cURL依赖于WWW-Curl-Easy模块。所以我也安装了它。我通过使用Readme文件中给出的步骤,在命令行中安装了所有这些内容。我运行了perl makefile.pl命令,然后是makemake install。在安装过程中没有出现任何错误。
我正在尝试执行此示例代码来测试我的LWP cURL安装:
    use LWP::Curl;
    use strict;
    use warnings;

    my $lwpcurl = LWP::Curl->new();
    my $content = $lwpcurl->get('http://search.cpan.org','http://www.cpan.org'); 

我收到以下错误信息:

在@INC中找不到WWW :: Curl模块的可加载对象(@INC包含:C:/ Perl64 / site / lib C:/ Perl64 / lib。)位于C:/ Perl64 / site / lib / WWW / Curl.pm第11行。 BEGIN失败-在C:/ Perl64 / site / lib / WWW / Curl.pm第11行中中止编译。在C:/ Perl64 / site / lib / WWW / Curl / Easy.pm线路9处需要失败。在C:/ Perl64 / site / lib / LWP / Curl.pm线路5处需要失败。 BEGIN失败-在C:/ Perl64 / site / lib / LWP / Curl.pm线路5处中止编译。在D:\ Varsha \ Curl.pl线路1处需要失败。 BEGIN失败-在D:\ Varsha \ Curl.pl线路1处中止编译。

我做错了什么?

我确信 WWW::Curl 没有被正确安装。如果我自己尝试,我会收到消息 Sorry, no automated install is available on Windows, please see the file on instructions for a manual install. 你读过 README.Win32 吗?它说你必须编辑 Makefile.PL ,并且已经安装了 curl。 - Borodin
需要使用curl吗?LWP::Simple的get()函数不是可以做同样的事情吗?或许您有使用curl的特殊原因,但我想提醒一下,只使用LWP::SimpleLWP::UserAgent应该已经足够了。 - Gabs00
@Borodin 我按照Readme文件中的说明手动安装了Curl。我也相当确定这是一些路径/安装问题。我会再试一次! - Amritha
2个回答

1

这可能不是您想要的方向,但我建议您考虑升级perl并更改发行版:

  • 安装 Strawberry Perl - 目前推荐版本为5.18.2.2。
  • 安装 cpanmperl -MCPAN -e "install App::cpanminus"
  • 安装 LWP::Curlcpanm LWP::Curl

我不会费心说服您进行更改,但在我看来,Strawberry Perlcpanm的组合使安装模块比处理专有ppm的ActivePerl容易得多。

如果您厌倦了偶尔出现的问题,可以考虑一下。


0

这个错误意味着 WWW::Curl 没有被安装或者它的路径不可搜索(不在 @INC 中)。因此,解决方案如下:

  1. 确保模块已经被安装。
  2. 将模块所在的路径添加到 @INC 中。由于您使用的是 Windows,您可以使用 set PERL5LIB = c:\path\to\dir 命令。

对于一个永久性的解决方案,请按照以下步骤进行:

右键单击 我的电脑 并点击 属性

系统属性 窗口中,点击 高级 选项卡。

在高级选项卡中,点击 环境变量 按钮。

在环境变量窗口中,在 "用户变量(Foo Bar) " 部分,点击新建并输入以下内容:

变量名:PERL5LIB

变量值:c:\path\to\dir

然后点击 3 次 OK。之后打开的窗口都会知道这个新变量。在命令行窗口中输入以下命令,以查看新设置的值:

echo %PERL5LIB%

这将把私有目录/home/foobar/code (或c:\path\to\dir 目录) 添加到每个在相同环境中执行的脚本的 @INC 开头。

另请参阅: 在Perl中自动安装Perl依赖项


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接