各种平台下Perl模块的安装方法 |
---|
来源:http://www.linuxforum.net David lee (2001-04-21 18:11:53) |
Perl到了第五版增加了模块的概念,用来提供面向对象编程的能力。这是Perl语言发展史上 的一个里程碑。此后,广大自由软件爱好者开发了大量功能强大、构思精巧的Perl模块,极大地 扩展了Perl语言的功能。CPAN(Comprehensive Perl Archive Network)是internet上Perl模块 最大的集散地,包含了现今公布的几乎所有的perl模块。 几个主要的CPAN站点有: 国内:ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN http://cpan.qz.fj.cn/ 国外:http://www.cpan.org/ http://www.perl.com/CPAN-local/ 我在这里介绍一下各种平台下perl模块的安装方法。以安装DBI模块为例。 1、Linux/Unix下的安装方法: Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。第一种方法是从CPAN上下载 您需要的模块,手工编译、安装。第二种方法是联上internet,使用一个叫做CPAN的模块自动完 成下载、编译、安装的全过程。 a、手工安装的步骤: 从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。 cd /usr/local/src 解压缩这个文件: tar xvzf DBI-1.13.tar.gz 这时会新建一个DBI-1.13的目录。 cd DBI-1.13 生成makefile: perl Makefile.PL 建立模块 make 测试模块 make test 如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。安装模块前,先要 确保您对perl5安装目录有可写权限(通常以su命令获得),执行: make install
不同于拥有root权限的安装,对于用户,必须在第一步指定一个拥有合适权限的安装模块的目标路径。 比如说perl Makefile.PL PREFIX=/home/USERNAME/usr (PREFIX前不用加--,貌似PERL的参数不用加--) 让你的脚本能够找到你安装的模块 当你像上面一步那样安装了模块在/home/USERNAME/usr下面后,如果在你的程序中要用到这些模块,你可以通过两种方法实现: use lib qw(/home/USERNAME/usr/lib/perl5 /home/USERNAME/usr/lib/perl5/site_perl); 或者BEGIN { unshift @INC, qw(/usr/home/USERNAME/usr/local/lib/perl5 /usr/home/USERNAME/usr/local/lib/perl5/site_perl); } 其原理就是perl搜索模块的路径存放在@INC数组中,只要将用户自定义的模块路径加入到该数组中就行
8.模块的使用 此时,模块已经安装完毕。如果在shell下直接运行Perl程序,则模块可以正常调用;但若是在浏览器中运行,由于我们此前设置的路径仅对当前用户起作用,Perl程序还是无法调用新添加的模块。解决的方法很简单,就是在你的脚本最上方加入要调用的模块的路径,这里应该是: use lib '/home/ user/CPAN/share/perl/5.8.4'
在perl脚本外设置perl模块搜索路径 如果需要在perl脚本外设置perl模块搜索路径(比如说要解决安装模块的依赖关系)时,可以通过设置环境变量来解决。方法如下: export PERL5LIB = / /home/<username>/usr/lib/perl5/site_perl 当然如果你把它放在.bashrc中,此设置便可在以后每次登录系统都会起作用。 export PERL5LIB = 写法一样 现在,写个程序试试吧。 #!/usr/bin/perl -w use strict; use DBI; .. 上述步骤适合于Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别, 所以最好先看看安装目录里的README或INSTALL。另外,上述过程是针对动态链接的Perl编译 器(所有Linux下预安装的Perl都是动态链接的),如果您在使用一个静态链接的Perl,您需要将 新的模块静态链接到perl编译器中,可能还需要重启机器。 b、使用CPAN模块自动安装: 安装前需要先联上线,并且您需要取得root权限。 perl -MCPAN -e shell 初次运行CPAN时需要做一些设置,如果您的机器是直接与internet相联(拨号上网、专线,etc.), 那么一路回车就行了,只需要在最后选一个离您最近的CPAN镜像站点。例如我选的是位于国内的 中国自由软件库ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN 。否则,如果您的机器 位于防火墙之后,还需要设置ftp代理或http代理。 获得帮助 cpan>h 列出CPAN上所有模块的列表 cpan>m 安装模块 cpan>install DBI 自动完成DBI模块从下载到安装的全过程。 退出 cpan>q 2、Win32下的安装方法: 在Win32下,建议使用ActiveState的Perl for Win32,即ActivePerl。ActivePerl的主页在: http://www.activestate.com/ 。在Win32下,最好也使用专门为ActivePerl定制的Perl模块。从 CPAN下载的Perl模块不能很好地在ActivePerl下使用。类似于CPAN模块,ActiveState也开发 了一个自动安装工具叫做PPM(Perl Package Manager)。 最通常的安装方法是: 首先联上线 在dos命令行下启动ppm ppm 获得帮助 PPM>h 列出ActiveState站点上所有为Perl模块的清单。 PPM>search 安装模块 PPM>install DBI 自动完成DBI模块从下载到安装的全过程。 退出 PPM>q 如果您的机器位于防火墙之后,通过http代理上网,那么可以使用下面的方法。 对于老的基于perl 5.005的ActivePerl版本(ActivePerl 522以下版本,不包括ActivePerl 522),从 http://www.ActiveState.com/ppmpackages/5.005/zips/下载您需要的Perl模块,例如DBI.zip。 将其解压缩在C:\TEMP\DBI下 cd \TEMP\DBI ppm install DBI.PPD 最新的基于perl 5.6的ActivePerl版本(ActivePerl 613及以上版本)的安装方法略有不同。安 装ActivePerl 613前需要先安装Microsoft的Windows Installer。 Windows Installer从这里下载: http://activestate.com/download/contrib/Microsoft/9x/InstMsi.exe ActivePerl 613从这里下载: http://activestate.com/download/ActivePerl/Windows/5.6/ActivePerl-5.6.0.613.msi 对于基于perl 5.6的ActivePerl版本,从 http://www.activestate.com/PPMPackages/5.6/ 下载您需要的Perl模块的安装描述文件,例如DBI.PPD 安装模块前需要先联上线 ppm install DBI.PPD。 以上较为详细地描述了各种平台下Perl模块的安装方法。希望能够帮助国内Perl爱好者们通过 使用现有大量优秀的Perl模块,避免重复劳动,提高效率,更好发挥Perl语言的强大威力。 (http://www.fanqiang.com) |
Perl模块安装
最新推荐文章于 2025-02-04 21:58:37 发布