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”