今时今日你还在用老掉牙的 cpan 安装模块吗-试下 cpanm 吧

转载自:http://bbs.chinaunix.net/thread-3568555-1-1.html

唉,发现今时今日还有很多高手在使用 cpan 来安装模块,我这个东西推广了好久好久,大家还是很多人不知道,就象产品学上讲的,用户都不喜欢改变。新东西都很难接受。

真的,试下 cpanm 来安装 Perl 模块吧。。。
安装 cpanm 以后使用,简单得不行了
  1. wget  http://xrl.us/cpanm  --no-check-certificate -O /sbin/cpanm && chmod +x  /sbin/cpanm
复制代码
建议还在 .bashrc 中配置一下别名,指向 163 的  cpan 的镜象
  1. alias cpanm='cpanm --sudo --mirror http://mirrors.163.com/cpan --mirror-only'
复制代码
下面的内容可以不看,有兴趣也可以看看

转载本站文章请注明,转载自:扶凯[ http://www.php-oa.com ]

本文链接:  http://www.php-oa.com/2010/05/05/perl-cpanminus-cpan.html

Perl 中安装模块很多人头痛的问题,其实解决这个问题的方法实在太多,当然对于新人。太多的选择反到让人很晕。也可能根本就不知道有那些选择。

我以前写过一个CPANPLUS 的使用,CPANPLUS 是用来替换老的 cpan 的。更加好用,更加人性,包括删除模块什么都行。链接地址: http://www.php-oa.com/2010/02/04/cpanplus-per.html  

CPAN Shell 和 CPANPLUS 的问题

但总体来讲,这个使用还是有些麻烦,如果用户本身没有 CPANPLUS 这个,单安装这个 CPANPLUS  就是一个很麻烦的事.因为它本身就依靠很多其它的模块才能正常跑。让用户会更加头痛。

Perl 本身的 CPAN Shell  启动麻烦,还要配置大量的内容,对新手来说,只要一个能立即上手的 Perl 环境快速的开发就行了,没有必要给时间浪费在这个上面。 


CPANMinus 的优点

因为以上问题,无所不能的 Perl 爱好者总是有各种方法来使问题简单。下面我要讲的这个就是能使大家安装模块更加简单的 非常棒的方法。

这个 CPANMinus 有什么神奇。其中,下载后就能直接使用,不需要任何其它的模块(当内 Perl 本身的 Module::Build , ExtUtils::MakeMaker 和 C Compiler 还是要,这个是系统就有的)。有没有 Root 权限都不重要。不是 Root 会自动安装到当前用户的目录。


CPANMinus 的安装

单文件安装,只这样安装其实就好了。

$ wget   http://xrl.us/cpanm   --no-check-certificate -O /sbin/cpanm 
$ chmod +x  /sbin/cpanm

完整版本安装 使用了上面,没有必要运行下面的方法,

$ wget -O-  http://xrl.us/cpanm   --no-check-certificate | perl - --sudo --self-upgrade \
--mirror  http://mirrors.163.com/cpan  --mirror-only

安装完了。。。。太 easy 了,因为他就一个文件.这个例子是下载 cpanm 以后,直接用他来安装第一个软件叫 App::cpanminus。其实就是它自己.




CPANMinus 的使用

$ cpanm ModuleName

例如

$ cpanm YAML
Fetching  http://search.cpan.org/CPAN/auth ... MK/YAML-0.71.tar.gz  ... OK
Configuring YAML-0.71 ... OK
Building and testing YAML-0.71 for YAML ... OK
Successfully reinstalled YAML-0.71

使用也容易吧,他还可以直接加本身的模块名,远程的模块的 Url 之类。容易吧

CPANMinus 的技巧

因为国内常常被 gfw 掉,所以我们感觉 cpanm 非常慢,其实主要原因是因为我们连接不到国外的服务器,cpanm 新的版本会从镜象服务器取 02packages.txt.gz 这个文件回来,我们可以加一个 `–mirror-only` 让他只从镜象取,然后在给镜象指向国内就好

可以修改 .bashrc

alias cpanm='cpanm --sudo --mirror  http://mirrors.163.com/cpan  --mirror-only'

本地镜象使用这条

alias cpanm='cpanm --mirror ~/CPAN/ --mirror-only'

注意 –mirror-only 只有在比较新的 cpanm 上才可以使用,老的 cpanm 不能正常使用。。。大约 1.0 的版本不行。。。





其它一些技巧

删除模块

很多人都问怎么删除 CPAN 上的模块,下面我来教大家一个新的模块,App::pmuninstall 这个先安装。 

$ cpanm App::pmuninstall

使用很简单 

$ pm-uninstall YAML   # YAML 只是一个模块的名字,任何你要删除的模块的名字都能加在这



安装和更新最新的模块(查所有安装的模块和版本)

我们常常很多模块老了,我们想用最新的 cpan 本身没有好的控制机制,所以我们在这可以使用一个模块来完成同样的功能,叫  App::cpanoutdated 这个可以用来查找本机上安装的模块,有那些可以更新,并会列出来。 一样使用 cpanm 来安装,我就不讲安装方法了。

$ cpan-outdated
M/ML/MLEHMANN/AnyEvent-5.31.tar.gz
M/ML/MLEHMANN/AnyEvent-HTTP-2.03.tar.gz
N/NA/NAIM/AnyEvent-HTTPBenchmark-0.09.tar.gz
P/PH/PHRED/Apache-Reload-0.11.tar.gz
P/PH/PHRED/Apache-SizeLimit-0.95.tar.gz
P/PH/PHRED/Apache-Test-1.36.tar.gz
B/BI/BINGOS/Archive-Extract-0.48.tar.gz
B/BI/BINGOS/Archive-Tar-1.76.tar.gz
S/SM/SMUELLER/Attribute-Handlers-0.88.tar.gz
S/SM/SMUELLER/AutoLoader-5.71.tar.gz
F/FL/FLORA/autouse-1.06.tar.gz
R/RU/RURBAN/B-C-1.29.tar.gz
R/RU/RURBAN/B-Debug-1.16.tar.gz
F/FL/FLORA/B-Lint-1.12.tar.gz
R/RG/RGARCIA/base-2.15.tar.gz
F/FL/FLORA/bignum-0.25.tar.gz

我们可以直接传给 cpanm 来安装

$ cpan-outdated | cpanm

查看 Perl 模块的相关信息(安装位置,版本等)
只要安装 App::pmodinfo这个模块就行,然后就能使用下面的这个功能了

    -v –version
    -f –full
    -h –hash
    -l,–local-modules
    -u,–check-updates

$ pmodinfo --full Redis: ump
    Redis: ump is installed with version 0.013.
    cpan page  :  http://search.cpan.org/dist/Redis-Dump
    filename   : /Users/thiago/perl5/perlbrew/perls/perl-5.14.0/lib/site_perl/5.14.0/Redis/Dump.pm
      ctime    : 2011-07-05 19:56:54
    POD content: yes
    Last cpan version: 0.013

你可能感兴趣的:(Linux)