我的 Windows 机器上有 ActivePerl 5.14.2。我一直在尝试安装 LWP cURL 模块。我已经在我的机器上安装了 libcurl-dev 库和 GCC。
我还了解到 LWP cURL 依赖于 WWW-Curl-Easy 模块。所以我也安装了。我使用自述文件中给出的步骤通过命令行安装了所有这些。我运行了
perl makefile.pl
命令,然后运行了 make
和 make 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 行的 require 中。编译 C:/Perl64/site/lib/LWP/Curl.pm 第 5 行的 require 失败。BEGIN 失败——编译在 C:/Perl64/site/lib/LWP/Curl.pm 第 5 行中止。 D:\Varsha\Curl.pl 第 1 行的 require 中编译失败。BEGIN 失败 - 编译在 D:\Varsha\Curl.pl 第 1 行中止。
我哪里错了?
这可能不是您想要的方向,但我建议您考虑升级 Perl 并更改发行版:
Strawberry Perl
- 5.18.2.2 是当前推荐的版本。cpanm
:perl -MCPAN -e "install App::cpanminus"
LWP::Curl
:cpanm LWP::Curl
我不会费心去说服你相信这个改变,但在我看来,Strawberry Perl 和
cpanm
的结合使安装模块比处理 ActivePerl
的专有 ppm 容易得多。
如果您厌倦了偶尔的头痛,请考虑一下。
该错误意味着
WWW::Curl
未安装或其路径不可搜索(不在@INC 中)。所以解决办法是
set PERL5LIB = c:\path\to\dir
要获得永久解决方案,请遵循以下步骤:
右键单击我的电脑,然后单击属性。
在系统属性窗口中,单击高级选项卡。
在高级部分中,单击环境变量按钮。
在“环境变量”窗口的“Foo Bar 的用户变量”部分中,单击“新建”并输入以下内容:
变量名称:PERL5LIB
变量值:c:\path o\dir
然后单击“确定”3 次。此后打开的窗口将已经知道新变量。在命令窗口中键入以下内容,以查看新设置的值:
echo %PERL5LIB%
对于在同一环境中执行的每个脚本,这会将私有 /home/foobar/code 目录(或 c:\path o\dir 目录)添加到 @INC 的开头。