Perl模块安装错误CPAN Spreadsheet :: ParseExcel

时间:2015-05-19 11:14:03

标签: perl perl-module cpan

我正在尝试从我的Windows机器中的cpan安装perl模块,在遇到两次之后会出现以下错误。

Checking if your kit is complete...
Warning: the following files are missing in your kit:
README
    Please inform the author.
    Writing Makefile for Digest::Perl::MD5
    'nmake' is not recognized as an internal or external command,
    operable program or batch file.
      nmake  -- NOT OK
    Running make test
      Can't test without successful make
    Running make install
      make had returned bad status, install seems impossible
    Running make for D/DO/DOUGW/Spreadsheet-ParseExcel-0.65.tar.gz
      Is already unwrapped into directory C:\Perl\cpan\build\Spreadsheet-ParseExcel
    0.65

      CPAN.pm: Going to build D/DO/DOUGW/Spreadsheet-ParseExcel-0.65.tar.gz

    'nmake' is not recognized as an internal or external command,
    operable program or batch file.
      nmake  -- NOT OK
    Running make test
      Can't test without successful make
    Running make install
      make had returned bad status, install seems impossible

>perl exceltoxml.pl
Can't locate Spreadsheet/ParseExcel.pm in @INC (@INC contains: C:/Perl/site/lib
    C:/Perl/lib .) at exceltoxml.pl line 4.
    BEGIN failed--compilation aborted at exceltoxml.pl line 4.

我尝试了5次。

2 个答案:

答案 0 :(得分:1)

  

nmake'未被识别为内部或外部命令

Sinan Ünür是对的。错误消息是您没有安装nmake。这意味着您正在尝试编译代码(可能是C代码),并且没有C编译器或Make程序。

前一段时间,我会告诉人们ActiveState不完全支持cpan,因为它无法编译代码。 ActiveState使用它自己的预编译包,可通过 Perl包管理器(PPM)获得,可以从命令行或GUI界面使用。如果通过 PPM 无法获得包,并且需要编译,那你就是运气不好。出于这个原因,我通常会推荐Strawberry Perl而不是ActivePerl。 Strawberry Perl附带了那些可编辑的CPAN模块所需的完整MinGW环境。

然而,大约六年前,ActiveState整合了一个可安装的PPM package for the MinGW environment。安装完成后,ActivePerl可以使用CPAN。

所以你有两个解决方案:

  • 安装这个PPM包,就像SinanÜnür在他的回答中提到的那样。然后,再次尝试Spreadsheet::ParseExcel
  • 安装Strawberry Perl而不是ActiveState的Perl。 Strawberry Perl似乎与Unix / Mac / Linux系统上的Perl版本更兼容。然后尝试安装Spreadsheet::ParseExcel包。
  • 好的,有三个解决方案:安装Cygwin,它将为您的Windows机器提供完整的 Linux环境。它可能需要大约两个小时才能安装,但它附带了你熟悉和喜爱的所有GNU实用程序,大多数其他Unix / Linux实用程序和BASH shell。

    这是许多Linux / Unix家庭用户在厌倦了{C:\>提示时所使用的内容。 Cygwin附带最新版本的Perl,可以使用我尝试的每一个CPAN包。有一些小问题(比如Termcaps),事情并不像他们想象的那样有效,但我对它很满意。它甚至还带有X11,允许您运行XWindow应用程序,甚至可以跨系统使用XWindow应用程序 - 就像REAL操作系统一样!

在某些情况下,CPAN模块可能仍然存在Windows问题。一个与归档和取消归档模块以及缺少的libz库有关。但是,安装此MinGW软件包(​​或使用Strawberry Perl或Cygwin)将解决约{95}的cpan安装问题。

答案 1 :(得分:0)

  

我尝试了5次。

计算机是确定性的东西。这意味着,除非您更改程序运行的条件,否则它将始终执行相同的操作(可能,除非存在太阳耀斑或EMP)。

因此,发出相同命令一次与五次之间没有区别。如果第一次失败, ceteris paribus ,它会五次失败。

也就是说,看起来你安装了ActiveState Perl,但没有安装提供gcc&的MinGW package。基于dmake的构建工具。

所以,

C:\>ppm install MinGW

然后尝试安装软件包。

您还可以使用Microsoft Visual Studio 2013工具的Community Edition或任何其他受支持的编译器选择building your own perl