2012年10月22日星期一

cpanm 安装 cpan 模块

补发一篇 cpanm  的相关的文章,转载自 扶凯的博客
 
CPANMinus 的优点
因为以上问题,无所不能的 Perl 爱好者总是有各种方法来使问题简单.下面我要讲的这个就是能使大家安装模块更加简单的 非常棒的方法.
这个 CPANMinus 有什么神奇.其中,下载后就能直接使用,不需要任何其它的模块(当内 Perl 本身的 Module::Build , ExtUtils::MakeMaker 和 C Compiler 还是要,这个是系统就有的).有没有 Root 权限都不重要.不是 Root 会自动安装到当前用户的目录.
 
 CPANMinus 的安装
单文件安装,只这样安装其实就好了.
1
2
$ wget  http://xrl.us/cpanm  --no-check-certificate -O /sbin/cpanm
$ chmod +x  /sbin/cpanm
 完整版本安装 使用了上面,没有必要运行下面的方法,
1
2
$ 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 的使用
1
$ cpanm ModuleName
 例如
1
2
3
4
5
$ cpanm YAML
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
1
alias cpanm='cpanm --sudo --mirror http://mirrors.163.com/cpan --mirror-only'
 本地镜象使用这条
1
alias cpanm='cpanm --mirror ~/CPAN/ --mirror-only'
注意 –mirror-only 只有在比较新的 cpanm 上才可以使用,老的 cpanm 不能正常使用…大约 1.0 的版本不行…


其它一些技巧
删除模块
很多人都问怎么删除 CPAN 上的模块,下面我来教大家一个新的模块,App::pmuninstall 这个先安装. 
1
$ cpanm App::pmuninstall
使用很简单 
1
$ pm-uninstall YAML   # YAML 只是一个模块的名字,任何你要删除的模块的名字都能加在这

安装和更新最新的模块(查所有安装的模块和版本)
 我们常常很多模块老了,我们想用最新的 cpan 本身没有好的控制机制,所以我们在这可以使用一个模块来完成同样的功能,叫  App::cpanoutdated 这个可以用来查找本机上安装的模块,有那些可以更新,并会列出来. 一样使用 cpanm 来安装,我就不讲安装方法了.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ 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 来安装
1
$ cpan-outdated | cpanm
 查看 Perl 模块的相关信息(安装位置,版本等) 只要安装 App::pmodinfo这个模块就行,然后就能使用下面的这个功能了
  • -v version
  • -f full 
  • -h hash
  • -l,–local-modules
  • -u,–check-updates
1
2
3
4
5
6
7
$ pmodinfo --full Redis::Dump
    Redis::Dump is installed with version 0.013.
    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

没有评论:

发表评论