windows 下安装 perl 模块手记

首先,推荐一个很好的模块下载网站:http://search.cpan.org


今天在windows xp上安装了ActivePerl-5.12.2.1202-MSWin32-x86-293621.msi,在eclipse下打开项目,有好多地方提示错误都是因为本地没有安装相关的模块导致的,于是开始从上面的网站下载相关模板进行安装。


安装过程中遇到很多错,记录于此,希望能帮助到需要作类似操作的朋友。


网上也有说可以直接用PPM安装,类似于MS DOS>ppm install modelName,但我上班的地方,上网是通过代理的,不能在DOS命令下直接下载文件,所以,只好把相关的文件下载到本地再安装。

我的Perl安装目录:D:/Program Files/Perl
下面以安装Unicode::Map为例对碰到的问题一一解决。

1.在安装MinGW之前,会提示:
D:/Unicode-Map-0.112/Unicode-Map-0.112>perl Makefile.PL

It looks like you don't have a C compiler on your PATH, so you will not be
able to compile C or XS extension modules.  You can install GCC from the
MinGW package using the Perl Package Manager by running:

    ppm install MinGW

Unable to find a perl 5 (by these names: D:/Program Files/Perl/bin/perl.exe perl
.exe perl5.exe perl5.12.2.exe miniperl.exe, in these dirs: . D:/Program Files/Pe
rl/site/bin D:/Program Files/Perl/bin D:/oracle/product/10.2.0/client_1/bin C:/W
INDOWS/system32 C:/WINDOWS C:/WINDOWS/System32/Wbem D:/Program Files/TortoiseSVN
/bin C:/Program Files/Microsoft SQL Server/90/Tools/binn/ D:/Program Files/CodeS
mith/v5.2/ C:/Program Files/Common Files/Thunder Network/KanKan/Codecs D:/Progra
m Files/Perl/bin)
Writing Makefile for Unicode::Map

上面提到过,也可以直接用PPM安装需要的模板,如果网络畅通的话,比如通过命令:
D:/Unicode-Map-0.112/Unicode-Map-0.112>ppm install MinGW

2.下载MinGW,我下载的是mingw-get-inst-20101030.exe,安装,然后退出cmd窗口重新打开,再MakeFile.pl,这次得到的错误提示如下:
D:/Unicode-Map-0.112/Unicode-Map-0.112>perl Makefile.PL

It looks like you don't have a C compiler on your PATH, so you will not be
able to compile C or XS extension modules.  You can install GCC from the
MinGW package using the Perl Package Manager by running:

    ppm install MinGW

Unable to find a perl 5 (by these names: D:/Program Files/Perl/bin/perl.exe perl
.exe perl5.exe perl5.12.2.exe miniperl.exe, in these dirs: . D:/Program Files/Pe
rl/site/bin D:/Program Files/Perl/bin D:/oracle/product/10.2.0/client_1/bin C:/W
INDOWS/system32 C:/WINDOWS C:/WINDOWS/System32/Wbem D:/Program Files/TortoiseSVN
/bin C:/Program Files/Microsoft SQL Server/90/Tools/binn/ D:/Program Files/CodeS
mith/v5.2/ C:/Program Files/Common Files/Thunder Network/KanKan/Codecs D:/Progra
m Files/Perl/bin)
Writing Makefile for Unicode::Map

装了WinGW之后,没有设置环境变量,所以找不到GCC调用,会有上面的提示。

3.设置好后,错误提示又变了,如下:
Set up gcc environment - 4.5.0

It looks like you don't have either nmake.exe or dmake.exe on your PATH,
so you will not be able to execute the commands from a Makefile.  You can
install dmake.exe with the Perl Package Manager by running:

    ppm install dmake

Unable to find a perl 5 (by these names: D:/Program Files/Perl/bin/perl.exe perl
.exe perl5.exe perl5.12.2.exe miniperl.exe, in these dirs: . D:/Program Files/Pe
rl/site/bin D:/Program Files/Perl/bin D:/oracle/product/10.2.0/client_1/bin C:/W
INDOWS/system32 C:/WINDOWS C:/WINDOWS/System32/Wbem D:/Program Files/TortoiseSVN
/bin C:/Program Files/Microsoft SQL Server/90/Tools/binn/ D:/Program Files/CodeS
mith/v5.2/ C:/Program Files/Common Files/Thunder Network/KanKan/Codecs C:/MinGW/
bin C:/MinGW/lib/gcc/mingw32/4.5.0 D:/Program Files/Perl/bin)
Writing Makefile for Unicode::Map

windows下是没有made文件的,我下载了一个Dmade文件,链接如下:
http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/dmake-4.12-20090907-SHAY.zip
解压之后将路径添加到环境变量。

4.进行到上面的步骤之后,再MakeFile就可以了。
D:/Unicode-Map-0.112>perl Makefile.PL
Set up gcc environment - 4.5.0
Writing Makefile for Unicode::Map

但在dmake时,遇到下面的错误
D:/Unicode-Map-0.112>dmake
dmake:  Error: -- `D:/Program' not found, and can't be made


5.在网上搜了半天也没找到答案,差点儿都放弃了。查看编译好的文件Makefile(其实就是一个文本文件),看到有perl的安装的目录,而提示就是安装目录的前面部分,估计是安装目录带有空格,不能被dmake程序正确识别。
于是卸载Perl,重新安装到默认目录c:/perl,再dmake,成功!

6.总结
windows下安装perl模块,大部分都是下面的步骤:
        perl Makefile.PL
        dmake
        dmake test
        dmake install

windows安装perl模块方法和必备软件nmake dmake devcpp: 方式一: 将 nmake.exe 放到system32目录下 用一下方式: perl Makefile.pl nmake nmake test nmake install 如果成功,将不用看下面内容。 方式二: 手动编译方式 优点:通吃所有模块 缺点:有点麻烦 具体步骤:1安装编译器2设置编译器的环境变量3可能安装dmake 具体方法:如下 1.首先要有个c编译器,推荐dev-cpp(开源免费的,网上自己搜索),记得要下含有mingw的就是了(不懂c,下载含有mingw的因为这个版本的bin目录里有gcc.exe等工具). 1.1安装好了编译器之后,要能在cmd中以命令方式运行的话,必须要设置环境变量,在winxp中[我的电脑]->[属性]->[高级]->[环境变量]里设置,只需要在path里加个你路径,比如你的安装路径是c:\dev-cpp,那你就要加上c:\dev-cpp\bin (path中有很多其他的路径,之间记得用;隔开 )弄完好,在cmd中运行gcc -v 显示出内容表示编译器安装成功,并且可以用命令行编译. 2.编译步骤,在cpan上下载需要的模块,比如Win32::SerialPort,下载好了解压,在cmd中进入这个目录(简单的dos命令应该知道吧),就用常见的方法: perl Makefile.pl make make test make install 如果成功,将不用看下面内容。 方式三: 使用方式二make很可能会出现错误,不能编译,找了很多原因,有高人介绍了解决办法,就是下载一个叫dmake的工具,解压缩,将里面的dmake.exe和startup的文件夹(好象是这个名字)一起复制到c:\dev-cpp\bin 里(因为这个目录注册到环境变量里的),之后安装改成: perl Makefile.pl dmake dmake test dmake install 注意: 如果安装过oracle10g你将会发现出现版本冲突的情况。 解决方案如下:修改%PERL5LIB%环境变量,修改为perl所在目录
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值