- A+
所属分类:Perl
cpanm是安装Perl模块的最方便的方法。自动下载安装依赖包。使用CPAN shell或下载源码包安装模块,遇到大量依赖关系,非常头痛。下面就是一例:
安装MongoDB模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# perl Makefile.PL Warning: prerequisite Class::Method::Modifiers 0 not found. Warning: prerequisite Data::Types 0 not found. Warning: prerequisite DateTime 0 not found. Warning: prerequisite DateTime::Tiny 0 not found. Warning: prerequisite ExtUtils::MakeMaker 6.59 not found. We have 6.30. Warning: prerequisite File::Slurp 0 not found. Warning: prerequisite File::Temp 0.17 not found. We have 0.16. Warning: prerequisite JSON 0 not found. Warning: prerequisite Moose 0 not found. Warning: prerequisite Test::Exception 0 not found. Warning: prerequisite Test::Warn 0 not found. Warning: prerequisite Tie::IxHash 0 not found. Warning: prerequisite Try::Tiny 0 not found. Warning: prerequisite boolean 0 not found. Writing Makefile for MongoDB |
1. 安装cpanm
cpanm其实是一个可执行文件而已。将它下载到bin目录,然后添加执行权限就可以了。
1 |
# wget http://xrl.us/cpanm -O /usr/bin/cpanm; chmod +x /usr/bin/cpanm |
2. 使用cpanm安装模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# cpanm -h -v,--verbose Turns on chatty output -q,--quiet Turns off the most output --interactive 开启交互配置(required for Task:: modules) -f,--force 强制安装 -n,--notest Do not run unit tests --test-only 只测试不安装 -S,--sudo sudo to run install commands --installdeps 只安装依赖模块 --showdeps 只显示依赖信息 --reinstall 重新安装 --mirror 指定镜像url (e.g. http://cpan.cpantesters.org/) --mirror-only 只从镜像下载 --prompt Prompt when configure/build/test fails -l,--local-lib Specify the install base to install modules -L,--local-lib-contained Specify the install base to install all non-core modules --self-contained Install all non-core modules, even if they're already installed. --auto-cleanup Number of days that cpanm's work directories expire in. Defaults to 7 Examples: cpanm Test::More # install Test::More cpanm MIYAGAWA/Plack-0.99_05.tar.gz # full distribution path cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz # install from URL cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz # install from a local file cpanm --interactive Task::Kensho # Configure interactively cpanm . # install from local directory cpanm --installdeps . # install all the deps for the current directory cpanm -L extlib Plack # install Plack and all non-core deps into extlib cpanm --mirror http://cpan.cpantesters.org/ DBI # use the fast-syncing mirror |
参数名直接为模块名称
如,安装MongoDB模块
1 2 3 4 5 6 7 |
# cpanm MongoDB --> Working on MongoDB Fetching http://www.cpan.org/authors/id/F/FR/FRIEDO/MongoDB-0.702.0.tar.gz ... OK Configuring MongoDB-0.702.0 ... OK ==> Found dependencies: DateTime, Tie::IxHash, Data::Types, DateTime::Tiny, Class::Method::Modifiers, boolean, Moose, File::Slurp, Try::Tiny, Test::Exception, ExtUtils::MakeMaker, Test::Warn, File::Temp, JSON --> Working on DateTime ...... //自动解决依赖模块 |
为了加快下载速度, 可以指定使用镜像,并只从镜像下载:
1 |
# cpanm --mirror http://mirrors.163.com/cpan --mirror-only MongoDB |
3. 删除模块
安装App::pmuninstall模块:
1 |
# cpanm App::pmuninstall |
删除模块:
1 |
# pm-uninstall MongoDB |
MongoDB.so: undefined symbol: HeUTF8 问题解决方案参见:http://www.ttlsa.com/html/2344.html
如需转载请注明出处:使用cpanm安装perl相关模块 http://www.ttlsa.com/html/2030.html

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
16/08/2013 下午 10:23 沙发
相比之下比cpan方便多了。
15/08/2013 下午 4:15 板凳
cpanm卸载有个专门的参数-U
来自外部的引用: 2