在Windows上安装CPAN模块

时间:2010-11-29 13:34:04

标签: perl makefile cpan mod-perl mod-perl2

我正在尝试在Windows 7上安装CPAN模块。我没有Active Perl,因此无法使用PPM包。

所有网站上提供的步骤包括以下三个步骤:make,make test和make install。我知道make是unix命令,不能在Windows上运行。

我将在Windows上运行什么命令来完成安装?

我从其中一个网站提到的CPAN网站上下载了dmake,但是当我运行它时,它会出现以下错误 -

  

d:\解析-RecDescent的-1.965001.tar \解析-RecDescent的-1.965001> d:\的dmake \的dmake \的dmake   dmake:错误: -   `d:\ indigoampp \ perl的-5.12.1 \ libConfig.pm”   没找到,也无法制作

请告诉我如何完成这些步骤。谢谢!

PS:同样,PPM不是一种选择。


谢谢大家。

在indigoampp \ perl-5.12.1 \ lib位置有一个名为Config_heavy.pl的文件。它有一行:make ='nmake'。当我使用dmake命令时,我将其更改为make ='dmake'。

在此之后,我不需要在每个模块的Makefile中更改DIRFILESEP。它正在生成\\,如上面的链接中所述。

所以我现在可以运行dmake,dmake test和dmake install。但它没有做任何事情。它没有在各自的位置复制pm文件/文件。为什么呢?

无论如何,我手动复制pm文件/文件,希望一切都能正常工作。不过我以前也可以这样做。为什么我运行makefile.pl和dmake命令??

另外,我的目标是安装Apache2 :: Request模块。我发现它依赖于多个模块。我下载了这些模块并为它们运行了上面的命令 - 没有错误。最后,当我为Apache2 :: Request模块运行这些步骤时,我在dmake命令中遇到以下错误:

D:\libapreq2-2.12.tar\libapreq2-2.12>dmake
dmake:  makefile:  line 25:  Warning: -- Duplicate target [Release]
dmake:  makefile:  line 25:  Warning: -- Duplicate target [Release]
dmake:  makefile:  line 25:  Warning: -- Duplicate target [!=]
dmake:  makefile:  line 25:  Error: -- Expecting macro or rule defn, found neith
er

我在libapreq2-2.12.tar \ libapreq2-2.12文件夹下的Makefile中找不到任何可疑内容。 Makefile的部分内容(在错误行周围)是:

LIBAPREQ=libapreq2
APREQ2_TEST=apreq2_test
CGITEST=test_cgi
MOD=mod_apreq2

!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE 
!MESSAGE NMAKE CFG="Release"
!MESSAGE 
!MESSAGE Possible choices for configuration are:
!MESSAGE 
!MESSAGE "Release" (based on "Win32 (x86) Console Application")
!MESSAGE "Debug" (based on "Win32 (x86) Console Application")
!MESSAGE 
!ERROR An invalid configuration is specified.
!ENDIF 

!IF "$(APACHE)" == ""
!MESSAGE No Apache directory was specified.
!MESSAGE Please run Configure.bat to specify a valid Apache directory.
!ERROR
!ENDIF

任何人都可以帮助这个&上面的问题(为什么它没有自动复制pm文件)?谢谢你的时间!

2 个答案:

答案 0 :(得分:7)

看起来你正在使用Indigo Perl。根据他们的网站,他们有自己的包管理器叫做IPM - 你试过吗?

但是对于Windows Perl的工作,我真的建议您查看Strawberry Perl

答案 1 :(得分:1)

有时要安装Perl模块,您只需将.pm文件复制到perl / site或perl / lib中的相应目录即可。安装Perl模块的标准过程总是涉及运行'make',但在很多情况下,所有'make'都是将.pm文件复制到perl / site或perl / lib。但是当Perl模块需要对Windows库进行低级访问时,您需要的不仅仅是“make”,而是需要一个完整的C工具链。

如果ActiveState Perl违反您的宗教信仰,请考虑下载并安装Cygwin环境。为Cygwin安装选择Perl和C开发工具(称为binutils)。

但我告诉你,它很难击败ActiveState Perl。它是Windows平台上最完整的Perl解决方案。它是免费的!