CPAN可以通过网络或本地的方式安装perl的模块。
网络安装:从指定ftp下载perl模块包进行安装。与python的eazy_install和RHEL的yum用途类似,但功能较弱,不能自动解决依赖关系。
本地安装:cpan下载的模块包的默认目录是/root/.cpan/sources/ ,如果没有网络连接,可以将模块包放到这个目录再运行cpan安装。
1. 配置CPAN的资源站点url
国内用户访问ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
略微快一点,所以可以将/usr/lib/perl5/5.8.8/CPAN/Config.pm 中的 urllist改为:
ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
如果这个文件中只有如下一行:
1;
则说明cpan未初始化,可以运行cpan命令将其初始化.
在初始化CPAN时,提示"Please enter your CPAN site: [] "时输入上述URL地址
2. 验证配置
在cpan>提示符下输入o conf可以列出CPAN的配置,例如:
cpan>o conf
urllist
ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
3. 安装举例
安装ldirectord所依赖的perl module
运行cpan命令,在命令提示符下依次安装所需模块:
cpan> install Mail::Send
install Digest::HMAC
install Digest::SHA1
install Net::LDAP //如果先安装Net::SSLeay,test时会报错而无法完成安装
//注意:安装这个模块时,会提示是否安装一个可选依赖IO::Socket::SSL,默认是n,应输入y;
//安装IO::Socket::SSL时,会提示是否安装依赖Net::SSLeay,默认是n,应输入y,此模块安装时会提示是否测试,默认是y,输入n或no仍然会测试……
install IO::Socket::SSL
install Net::SSLeay
install Mail::IMAPClient
install Authen::SASL
install Parse::RecDescent
4. 安装后验证
使用perldoc perllocal可以查看perl模块的安装情况
5. 可能出现的问题
在第二台机器上,用scp从机器一上拷贝 /root/.cpan 到 机器二后,
编译Digest::SHA1时提示无效的参数 `tune=pentium4'。
在机器一上运行perl Makefile.PL将这个模块编译好后拷贝到机器二,再make,make install,成功安装
然后运行cpan -i Digest::SHA1,终于看到“Digest::SHA1 is up to date”