【问题标题】:Unable To Install Perl Modules Using CPAN (Windows XP Server with XAMPP)无法使用 CPAN 安装 Perl 模块(带有 XAMPP 的 Windows XP Server)
【发布时间】:2012-02-03 22:10:54
【问题描述】:

我目前有一台带有 XAMPP 的 Windows XP Pro SP3 服务器。我今天早些时候下载了 XAMPP 的 Perl 插件,它安装没有问题。安装后,我可以使用浏览器访问服务器上的 .pl 文件,并且它们可以正常执行。我现在正在尝试使用 CPAN 安装一些 Perl 模块,并且在此过程中我收到了一些错误消息,并且模块没有安装。我不熟悉 Perl,如果有任何帮助,我将不胜感激。以下是我尝试安装模块时发生的情况:

cpan[4]> install Task::Kensho
Running install for module 'Task::Kensho'
Running make for A/AP/APEIRON/Task-Kensho-0.31.tar.gz
CPAN: LWP::UserAgent loaded ok (v5.817)

I would like to connect to one of the following sites to get 'authors/id/A/AP/AP
EIRON/Task-Kensho-0.31.tar.gz':

 http://www.perl.org/CPAN/
 ftp://ftp.perl.org/pub/CPAN/

Is it OK to try to connect to the Internet? [yes] yes
Fetching with LWP:
  http://www.perl.org/CPAN/authors/id/A/AP/APEIRON/Task-Kensho-0.31.tar.gz
CPAN: Digest::SHA loaded ok (v5.45)
Fetching with LWP:
  http://www.perl.org/CPAN/authors/id/A/AP/APEIRON/CHECKSUMS
Checksum for \.cpan\sources\authors\id\A\AP\APEIRON\Task-Kensho-0.31.tar.gz ok
Scanning cache \.cpan\build for sizes
............................................................................DONE

The system cannot find the path specified.
Uncompressed \.cpan\sources\authors\id\A\AP\APEIRON\Task-Kensho-0.31.tar.gz succ
essfully
Using Tar:"C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\bin\tar.EXE" xvf "
Task-Kensho-0.31.tar":
The system cannot find the path specified.
Couldn't untar Task-Kensho-0.31.tar
CPAN: File::Temp loaded ok (v0.18)
Package seems to come without Makefile.PL.
  (The test -f "\.cpan\build\APEIRON-zQFric\Makefile.PL" returned false.)
  Writing one on our own (setting NAME to TaskKensho)
  Had problems unarchiving. Please build manually
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
Failed during this command:
 APEIRON/Task-Kensho-0.31.tar.gz              : unwrapped NO -- untar failed

这一行:

Using Tar:"C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\bin\tar.EXE" xvf "

正在引用我的系统上没有的文件和目录。我不确定这有什么意义,但我想我会指出这一点。

非常感谢任何帮助!

更新:@daxim,感谢您的建议。我安装了 Strawberry Perl,并且能够为我尝试使用 cpan install [模块名称] 运行的脚本安装所有必需的模块。但是,当我使用 Web 浏览器访问脚本时,它无法编译,并且我在 Apache 错误日志中得到了这个:

[Sun Jan 08 13:03:15 2012] [error] [client 192.168.1.1] Can't load 'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll' for module XML::LibXML: load_file:The specified module could not be found at C:/strawberry/perl/lib/DynaLoader.pm line 200.\r
[Sun Jan 08 13:03:15 2012] [error] [client 192.168.1.1]  at C:/strawberry/perl/site/lib/XML/LibXML.pm line 154\r
[Sun Jan 08 13:03:15 2012] [error] [client 192.168.1.1] BEGIN failed--compilation aborted at C:/strawberry/perl/site/lib/XML/LibXML.pm line 154.\r
[Sun Jan 08 13:03:15 2012] [error] [client 192.168.1.1] Compilation failed in require at C:/strawberry/perl/site/lib/XML/LibXML/SAX.pm line 17.\r
[Sun Jan 08 13:03:15 2012] [error] [client 192.168.1.1] BEGIN failed--compilation aborted at C:/strawberry/perl/site/lib/XML/LibXML/SAX.pm line 17.\r
[Sun Jan 08 13:03:15 2012] [error] [client 192.168.1.1] Compilation failed in require at (eval 27) line 1.\r

我确实安装了 XML::LibXML 以及其他必需的模块。再次感谢您的帮助!

【问题讨论】:

  • 你可以在这里获取 tar.exe:getgnuwin32.sourceforge.net
  • stackoverflow.com/a/4873025/46395 中查看我的建议;另外安装 Strawberry Perl 或 ActiveState Perl 并使用它来代替 XAMPP Perl。
  • @daxim 感谢您的建议。请参阅原始问题,我添加了一些信息。我能够为我尝试运行的脚本安装草莓 perl 和所有必需的模块,但是当我使用浏览器访问该脚本时,我仍然无法运行该脚本。 apache 错误日志在原始问题中。
  • 罗伯特,最好将这个后续问题从into a new one 中分离出来。 (Stack Overflow 不能很好地处理不断变化的原始版本,另请参阅 FAQ 该网站的工作原理。)如果以下内容没有帮助,open a new question

标签: windows perl xampp perl-module windows-xp-sp3


【解决方案1】:

我也在为来自 Strawberry Perl 的相同错误消息而苦苦挣扎。

无法加载“C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll”

我只看到 XML::LibXML 这个错误。可能与草莓 Perl 的 XML::LibXML 打包的 DLL 版本存在一些问题,但我不确定。

我终于安装了 Activestate Perl 并使用 Perl 附带的 PPM 工具来安装丢失的包,一切都很顺利。您也可以在 Windows 中尝试 PPM GUI:

开始菜单 → 所有程序 → ActivePerl 5.14.2 Build 1402 → Perl 包管理器。

【讨论】:

    【解决方案2】:

    我在工作中为此苦苦挣扎了 2 天。

    问题实际上是 tar(和其他基于 Unix 的程序)的全局路径设置不正确。如果你在 Strawberry Perl 之前安装了 Git 或 Cygwin 之类的东西,就会发生这种情况,因为它们里面有 Perl,我认为这会导致这个问题。

    诊断

    运行cpan -J

    检查 tar 是否设置为不正确的路径 /usr/bin/tar

    如果是……

    解决方案

    在命令行中:

    perl -MCPAN -e shell
    
    o conf init /tar/
    

    从那里输入正确的完整路径到 Git 或 Cygwin 中的 tar 程序:

    C:\\cygwin64\\bin\tar.exe

    然后在询问您是否要使用外部命令而不是在 Perl 模块中构建时输入 no

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2020-05-07
      • 2011-06-15
      • 2019-04-11
      • 2017-08-28
      • 2017-07-19
      • 2013-06-30
      • 1970-01-01
      • 2016-06-16
      相关资源
      最近更新 更多