我正在尝试从我的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次。
答案 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。
所以你有两个解决方案:
Spreadsheet::ParseExcel
。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
。