CPAN是perl的一个第三方源码模块库,里面有上百万的perl模块,用来支撑perl强大的功能,从生物工程到天文计算,从宏观世界到原子力学,无所不有。为了很方便的安装perl模块,有人做了一个CPAN模块,用cpan命令来管理和安装CPAN网站上的所有perl模块。

-------------------
CPAN

cpan命令
cpan命令其实也是一个perl脚本,对于不同版本的perl,可能cpan命令的功能强弱有所不同;执行cpan,我们进入了一个类似bash的界面,暂且叫做cpanshell,cpanshell上可以像bash一样输入命令,这个命令是CPAN所特有的,我们一般常用到的cpan命令主要有:
help
help命令是显示帮助信息,这里面包含了所有的cpan命令,虽然看上去只有一屏,但功能确是非常强大。

m //
这个是一个模式,用来查找perl模块,有点像perl正则里面的m//,用于匹配(match),但这里m与//之间多了一个空格,且这里的m指'modules',意思是根据模块名称查找,//内可以使用正则; 同理a(authors)、b(bundles)、d(distributions)和i(in all)都有这种模式。

install
install命令是安装perl模块,一般是接模块名称,而不是压缩包名字。比如DBD::mysql,而不是DBD-mysql,即

install DBD::mysql

CPAN配置
CPAN安装是网络安装,如果没有网络,使用cpan命令是无法安装的,所以CPAN安装的速度是与网络有直接关系;当然我们可以选择一个快速的镜像站点来安装CPAN模块,那如何配置呢?

如果是第一次使用CPAN,那么执行cpan命令的时候,cpan命令会给出配置的友好提示,不过很多人都对这个友好提示的繁冗程度显得很不耐烦,不过新版本的CPAN模块已经改善了这一缺点;如果不是第一次使用CPAN,而以前别人配置的CPAN镜像站点出了问题不能下载,或镜像站点太慢等等修改一下配置信息,可以重新配置CPAN:
CPAN>o conf init

若不是root用户,使用cpan命令或perl -MCPAN -e shell也可以进行配置后安装:
首先,配置好CPAN配置,这个配置可以使用非root用户配置好,配置好的内容一般在$HOME/.cpan/CPAN/MyConfig.pm文件内;

配置文件MyConfig.pm中配置信息中确定有 'makepl_arg'=>q[PREFIX=~/perl] 这一行,~/perl为你当前用户有权限读、写和执行的目录;

最后,设置 PERL5LIB 环境变量,把 ~/perl 下的相关目录添加进 PERL5LIB。以 bash shell 为例,在 ~/.bash_profile 里添加如下即可:
export PERL5LIB=~/perl/lib:\
~/perl/lib/perl5/5.10.1/i386-linux-thread-multi:\
~/perl/lib/perl5/5.10.1:\
~/perl/lib/perl5/site_perl/5.10.1/i386-linux-thread-multi:\
~/perl/lib/perl5/site_perl/5.10.1:\
${PERL5LIB}

模块检测
运行
$perl -e 'use Module'

如果没有任何输出,则表示模块 Module 成功安装

打印模块版本
$perl -MModule -e 'print $Module::VERSION;'

注意事项:
使用 CPAN 安装模块有时候会 make test 一步失败。可到 $HOME/.cpan/build 的相应目录下直接 make install;
第一次安装 CPAN 时,可以先安装:
install Bundle::CPAN

install Bundle::CPANxxl?

这样以后的安装包安装就会少需要的依赖,建议安装。

-------------------
CPANPLUS

默认的cpan命令安装时,如果依赖到其它包时,cpan不能自己解决,而需要手动去解它们之间的依赖关系;在初次使用cpan时,有回答很多问题。如果使用CPANPLUS的话,它能自动给依赖的模块安装好,在 Perl5.10 中现在默认有 CPANPLUS Shell。

装好CPANPLUS模块后,在终端里输入:cpanp 即可进入CPANPLUS环境。下载后就能直接使用,不需要任何其它的模块(当内 Perl 本身的 Module::Build,ExtUtils::MakeMaker 和 C Compiler 还是要,这个是系统就有的),有没有 Root 权限都不重要,非 root 会自动安装到当前用户的目录下。

包安装时取消安装测试(可选)
如果觉得每次测试太花时间,可以将测试取消:
# 取消安装过程中的测试:s conf skiptest 1

设置镜象:s reconfigure

选择镜象地址
 选择7 Select mirrors
 选择 No 
 选择 1 镜象
 选择 3 Asia
 选择 9 China
 选择镜象地址,也一样按上面的数字,最后面一个是退出这个,记的退出时保存.
 选择 9 Save and exit

# 取消提问回答是否按Y
s conf prereqs 1
s save #记的存一下

使用参考总结
1. CPANPLUS 中安装模块,按i:CPAN Terminal> i  Bundle::CPAN

2. CPANPLUS 中删除模块,按u:CPAN Terminal> u YAML

3. CPANPLUS 中查找模块,按m:CPAN Terminal>m Smart::Comments

4. CPANPLUS 中查找作者的模块,按a:CPAN Terminal>a kai

5. CPANPLUS 中更新所有有新版本的模块,按下o:
CPAN Terminal> o
aliased                        0.30    0.31    O/OV/OVID/aliased-0.31.tar.gz
Any::Moose                     0.13    0.21    S/SA/SARTAK/Any-Moose-0.21.tar.gz
AnyEvent                       7.02    7.04    M/ML/MLEHMANN/AnyEvent-7.04.tar.gz
AnyEvent::HTTP                 2.14    2.15    M/ML/MLEHMANN/AnyEvent-HTTP-2.15.tar.gz
Apache2::Cookie                2.12    2.13    I/IS/ISAAC/libapreq2-2.13.tar.gz
......

6. 自我更新: CPAN Terminal>s selfupdate all
按x来更新包的索引缓存。

-------------------
CPANM

'cpanm'是一个新近出现的能与'cpanp'不相上下的包安装工具,这个工具能克服cpan的一系列缺点。
cpan App::cpanminus

cpanm的安装
1)、单文件安装
# wget https://raw.github.com/miyagawa/cpanminus/master/cpanm -O cpanm

2)、完整版本安装
# wget https://raw.github.com/miyagawa/cpanminus/master/cpanm -O /usr/local/bin/cpanm
# perl cpanm --self-upgrade --mirror http://mirrors.163.com/cpan

是在下载 cpanm 以后,直接用他来安装更新它自己,对应的模块名为:App::cpanminus。

cpanm的使用
使用方法很简单,命令行后直接跟包模块名即可,如:cpanm YAML::XS

这样它会从cpan镜像站上下载对应的tar包,后解压安装。至于它从哪里取得包,依据于当时的源设置,可以从本地磁盘上加载;它后面也可以跟包的url,如:'http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-LibYAML-0.41.tar.gz',它会下载后自动安装,如何对应的包有依赖,它会自动解决。

可以对它进行重新配置时指定相关源,相对于修改其配置文件,具体可参考:使用minicpan创建本地CPAN http://www.freeoa.net/development/perl/diy-cpan-by-minicpan_1738.html

也可以在当前shell环境里,指定别名:
alias cpanm='cpanm --mirror http://mirrors.163.com/cpan'
alias cpanm='cpanm --mirror  /data/cpan/ --mirror-only'

Then to install any module from CPAN
cpanm Module::Name

The latest and greatest answer to this question is to use cpanm instead (also referred to as App::cpanminus or cpanminus)!

DESCRIPTION
cpanminus is a script to get, unpack, build and install modules from CPAN and does nothing else.

It's dependency free (can bootstrap itself), requires zero configuration, and stands alone. When running, it requires only 10MB of RAM.

To bootstrap install it:
curl -L http://cpanmin.us | perl - --sudo App::cpanminus

or if you are using perlbrew simply
perlbrew install-cpanm

From then on install modules by executing (as root if necessary)
cpanm Foo::Bar

-------------------
三者对比总结
CPAN是年代就为久远的,其成熟性和稳定性是不容置疑的,但同时它也有自身的缺点。

CPANPLUS是新出不久的,其特点是现代、智能、好用,与CPAN相同的是,它们都出现在'Core modules'中,估计以后打算用它做为CPAN的替代者。

cpanm也是初生牛犊,它具有与cpanplus相似的优点,但它更小巧、灵活,同时又不失其个性。

因此后两者是今后的主流,如何选择就要看个人喜好了。

-------------------
pm模块管理
1、删除模块

上面介绍了多种安装perl模块的方法,如果我想删除我机器上的模块,应该怎么操作呢,下面介绍一个新模块:'App::pmuninstall'
安装好后,会在PATH中生成一个命令行工具:pm-uninstall,使用它便可删除相应的模块。

使用很简单    $ pm-uninstall YAML::XS   # 后跟模块的名字,任何你要删除的模块的名字都能加在其后

2、检查所有已安装的模块和版本
用于列出和检查本地已经安装的模块,查看具体版本信息,使用'App::cpanoutdated' 这个可以来实现:有那些可以更新,并会列出来,可以使用 cpanm或cpanp 来进行升级。
$ cpan-outdated --verbose --mirror file:///data/cpan/

我们可以将其结果作为参数传给 cpanm 来安装:
# cpan-outdated | cpanm
# cpan-outdated | xargs cpan -i

更多关于查看系统中perl模块安装情况时,可参考文章: 查看Perl模块安装路径的"查看系统中已经安装的Perl模块"段落。

3、查看具体模块的相关信息(安装位置、版本等) 
只需要安装'App::pmodinfo'这个模块就可以实现,其它相关参数如下:
-v –version
-f –full 
-h –hash
-l,–local-modules
-u,–check-updates
# pmodinfo --full DBD::mysql
DBD::mysql version is 4.016.
  cpan page  : http://search.cpan.org/dist/DBD-mysql
  filename   : /usr/lib/perl5/DBD/mysql.pm
    ctime    : 2012-08-14 07:54:01
  POD content: yes

Last cpan version: 4.022

原文网址:http://blog.chinaunix.net/uid-20367477-id-4249130.html

转载于:https://www.cnblogs.com/v-BigdoG-v/p/7398633.html

从cpan上安装perl模块相关推荐

  1. 使用cpan安装perl模块

    经常会在网上下载一些软件,而很多这些软件是由perl写的,在使用这些软件的过程中,会发现很多问题,我最经常碰到的就是缺少perl模块.而安装perl模块就成了经常需要的操作. 之前的安装方法是通过yu ...

  2. Linux上安装paramiko模块

    Linux上安装paramiko模块 一.paramiko模块作用 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是pyt ...

  3. cpan安装_生信平台搭建(五):安装perl模块

    perl模块也是生物信息分析中经常需要配置的东西,尽管很多人觉得python很流行,但是依然有大量的生物软件依赖于perl模块,如果配置不正确就无法运行,典型的就是circos,里面调用大量perl的 ...

  4. Linux下安装Perl模块(含CPAN方法)

    对于Linux中的Perl模块,由两种安装方式:手动和自动.对于大多数根红苗正来自CPAN的模块,我们都可以通过自动安装的方式进行安装,方便易掌握. 安装CPAN RHEL,CentOS等发行版:  ...

  5. Windows上如何手动安装Perl模块(ActivePerl)

    以前手动安装模块走了不少弯路,现在写下来供参考: 1.编译环境 需要下载含有gcc之类的编译器,可以下载mingw或dev-pp,安装完成后设置下环境变量,比如:d:\Program Files\DE ...

  6. ubuntu安装perl模块

    终端输入: perl -MCPAN -e shell 进入cpan交互模式: 下面是常用 cpan 命令. 获得帮助 cpan>help 列出CPAN上所有模块的列表 cpan>m 安装模 ...

  7. 在Ubuntu 14.04.5 LTS上安装python模块selenium 3实录

    简介 Selenium是python模块库中一组web自动化测试工具集,提供多种语言的API,例如java,python,ruby,.net等,支持Firefox,Chrome,IE,Safari 等 ...

  8. linux 查看是否安装perl模块

    这里介绍两种linux中查看perl模块是否安装的方法,一种是对于单体的模块,一种是对于群体的. 单体验证: [root@root ~]# perl -MShell -e "print\&q ...

  9. pwd python 安装 模块_在windows上安装pwd模块时出错

    我正在尝试在windows上使用easy_install安装"pwd"模块,遇到以下错误,有人可以帮助修复此错误吗?C:\Dropbox\scripts>easy_insta ...

最新文章

  1. java高并发(二十)HashMap与ConcurrentHashMap
  2. 【Splay】文艺平衡树(金牌导航 Splay-2)
  3. Java 开源企业信息化建设平台 O2OA 入选码云 GVP 项目
  4. Java实验8 T3.编程显示当前鼠标的位置坐标
  5. 【BZOJ 3172】单词
  6. Barh函数--Matplotlib
  7. 【续篇】再次调戏勒索软件大黑客
  8. 手机网站注册页面html模板,手机网页登录注册自适应模版
  9. 用户和计算机硬盘系统的接口,硬盘接口类型,教您怎么看硬盘接口的类型
  10. Linux Ubuntu 安装五笔输入法 ibus-rime 教程
  11. Win系统 - 电脑一直停在正在关机的界面怎么办?
  12. 海贼王---追了好久的动漫了闲来无事发几张图嘿嘿
  13. C语言中全局数组外部引用的小问题
  14. 软件工程实训——点歌管理系统开发记录
  15. const T、const T*、T *const、const T、const T* 的区别
  16. 客户端需求多变,怎么合理设计服务端API版本?
  17. linux 第十天 linuxprobe
  18. 联想y430完全拆机图解_Y430P拆机:安装内存+清灰
  19. GBK和UTF8之间的转换 C语言
  20. [LOJ6363]「地底蔷薇」

热门文章

  1. 用python画月亮的代码-用Python画一个超级月亮
  2. 自学python的书籍-不可错过的十本Python好书
  3. python大学课程-利用python完成大学刷课(从0到完成的思路)
  4. 用python画烟花-过年了,用Python放一场浪漫烟花秀!
  5. python能绘制统计图吗-使用Python绘制图表大全总结
  6. 零基础可以学python吗-零基础可以学会python吗?python好学吗?
  7. python入门需要多久-怎么自学python,大概要多久?
  8. 在当当买了python怎么下载源代码-爬虫实战:爬取当当网所有 Python 书籍
  9. python类装饰器详解-Python装饰器详解
  10. 苹果电脑安装python-在Mac上安装Python环境