cpanm是安装Perl模块的最方便的方法。自动下载安装依赖包。使用CPAN shell或下载源码包安装模块,遇到大量依赖关系,非常头痛。下面就是一例:
安装MongoDB模块
# 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目录,然后添加执行权限就可以了。文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
# wget http://xrl.us/cpanm -O /usr/bin/cpanm; chmod +x /usr/bin/cpanm
2. 使用cpanm安装模块文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
# 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模块文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
# 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 ...... //自动解决依赖模块
为了加快下载速度, 可以指定使用镜像,并只从镜像下载:文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
# cpanm --mirror http://mirrors.163.com/cpan --mirror-only MongoDB
3. 删除模块
安装App::pmuninstall模块:文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
# cpanm App::pmuninstall
删除模块:文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
# pm-uninstall MongoDB
MongoDB.so: undefined symbol: HeUTF8 问题解决方案参见:https://www.ttlsa.com/html/2344.html文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
如需转载请注明出处:使用cpanm安装perl相关模块 https://www.ttlsa.com/html/2030.html文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/ 文章源自运维生存时间-https://www.ttlsa.com/perl/use-cpanm-to-install-perl-modules/
2F
相比之下比cpan方便多了。
1F
cpanm卸载有个专门的参数-U
来自外部的引用