怎样使用cpan安装perl模块

2014年12月23日 | 分类: 【技术】

【介绍】

Perl到了第五版增加了模块的概念,用来提供面向对象编程的能力。Perl允许利用许多现成的模块,创建新的功能。必须在Perl程序运行之前安装任何特定的模块。

即便许多Linux零售商创建了各种Perl模块的RPM软件包,但也有很多例外,于是就有了CPAN (Comprehensive Perl Archive Network)。CPAN是Perl模块最大的集散地,包含了现今公布的几乎所有的perl模块。

【资源】

国外主要的CPAN站点:

网址:http://www.cpan.org/ 
网址:http://www.perl.com/CPAN-local/ 

国内主要的CPAN站点: 

网址:ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN 
网址:http://cpan.qz.fj.cn/ 

【安装】

在命令行下输入如下的命令:

cpan App::cpanminus

等这条命令运行完成后,就可以执行下面的命令来安装需要的模块:

cpanm Module::Name

提示:为了节省时间,可以提前安装好C编译器,因为好多cpan的模块是C语言写的。

使用CPAN模块,你就能使用Perl本身安装其它模块。这样做,你就需要你所要安装的模块的名字。

比如,你要安装的是Time::HiRes或是DBI模块。具有特色的是,如果你为一个特定的Perl程序查看README文件,它将会列举任何所要求的模块的名字。

第一: 安装:

使用CPAN,成为根用户,执行以下操作:

perl -MCPAN -e shell

首次这样做的话,你就必须配置CPAN模块。花一些时间按照提示回答它所问的问题;网上通常有这样的例子,通常情况下,问题按住【Enter】就可。这里是说通常情况下,最好自己设置一下!

第二:重新设置:

如果在初始安装完成以后,您再想修改某些设置,可以通过以下两种方法进行设置:

方法1:shell下输入

cpan

然后回车

cpan[1]> o conf init

会出现以下内容:

CPAN is the world-wide archive of perl resources. It consists of about
300 sites that all replicate the same contents around the globe. Many
countries have at least one CPAN site already. The resources found on
CPAN are easily accessible with the CPAN.pm module. If you want to use
CPAN.pm, lots of things have to be configured. Fortunately, most of
them can be determined automatically. If you prefer the automatic
configuration, answer 'yes' below.

If you prefer to enter a dialog instead, you can answer 'no' to this
question and I'll let you configure in small steps one thing after the
other. (Note: you can revisit this dialog anytime later by typing 'o
conf init' at the cpan prompt.)
Would you like me to configure as much as possible automatically? [yes]

默认的[yes],系统自动的进行编译修改。当然,您可以输入no,回车,然后一项一项的修改。

方法2:修改cpan里面的Config.pm文件

寻找文件:

find / -name Config.pm
......
/usr/local/perl/lib/5.10.0/CPAN/Config.pm
......

然后

vi  /usr/local/perl/lib/5.10.0/CPAN/Config.pm
# This is CPAN.pm's systemwide configuration file. This file provides
# defaults for users, and the values can be changed in a per-user
# configuration file. The user-config file is being looked for as
# /root/.cpan/CPAN/MyConfig.pm.

$CPAN::Config = {
  'applypatch' => q[],
  'auto_commit' => q[0],
...
  'make_install_arg' => q[],
"/usr/local/perl/lib/5.10.0/CPAN/Config.pm" 75L, 2216C

然后修改,保存,退出!

第三:使用cpan查询和安装模块(一定在根目录下)

查询:

cpan[1]> d /模块名字或者部分名字/

查询结果中会给出所有含有模块名字或者部分名字的模块,选择您所需要的模块进行下载

下载安装:

cpan[1]>  install  模块名字

所有的模块都可以按照上面的例子类似的进行安装!

各种平台下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

现在,写个程序试试吧。 

#!/usr/bin/perl -w 
use strict; 
use DBI; 
.. 

上述步骤适合于Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别,所以最好先看看安装目录里的README或INSTALL。另外,上述过程是针对动态链接的Perl编译器(所有Linux下预安装的Perl都是动态链接的),如果您在使用一个静态链接的Perl,您需要将新的模块静态链接到perl编译器中,可能还需要重启机器。 

b、使用CPAN模块自动安装: 

使用root权限登录shell。

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