Table of Contents
CPAN
シェルを起動して対話的にインストール
# perl -MCPAN -e shell
bash 等からインストール
# perl -MCPAN -e "CPAN::Shell->install('Bundle::CPAN')"
更新可能なパッケージ一覧の表示
# perl -MCPAN -e "CPAN::Shell->r"
一括更新
# perl -MCPAN -e "CPAN::Shell->install(CPAN::Shell->r)"
- 途中で Yes/No の確認を求められる。
バージョンを指定してインストール
# perl -MCPAN -e "CPAN::Shell->install('LEMBARK/FindBin-libs-1.55.tar.gz')"
- CPAN:FindBin-libs は Perl v5.10.0 以上が必要で v5.8.8 にはインストールできない。
シェルでヒストリが効かない (Bundle::CPANをインストール)
> install Bundle::CPAN
強制的に再インストール
- インストール済みであっても強制に再インストールするには「force」を付ける。
> force install Scalar::Util
- 「IO::Socket::SSL」が下記エラーにてインストールできなかったら、依存する「Scalar::Util」を強制再インストールする。
Net::SSL from Crypt-SSLeay can't verify hostnames; either install IO::Socket::SSL or turn off verification by setting the PERL_LWP_SSL_VERIFY_HOSTNAME environment variable to 0 at /usr/lib/perl5/site_perl/5.8.8/LWP/Protocol/http.pm line 51.
You need the XS Version of Scalar::Util for dualvar() support at Makefile.PL line 56.
複数のパッケージをまとめてインストール
- インストールしたいパッケージ名を書いた適当な *.pm ファイルを作成し、それをインストールする。
# cd ~ # perl -MCPAN -e "CPAN::Shell->install('Bundle::MyPackages')"
- /root/Bundle/MyPackages.pm
package Bundle::MyPackages; use strict; use utf8; use vars qw( $VERSION ); $VERSION = "0.01"; 1; =head1 CONTENTS Env Fatal Test::Warnings Test::Output Test::Deep Time::Piece CGI URI::Escape::XS File::Basename FindBin::libs Getopt::Long HTTP::Date JSON::XS Lingua::JA::Numbers Lingua::JA::Regular::Unicode Log::Dispatch MIME::Base64 Socket Net::IP Net::Wake Crypt::SSLeay Perl::Tidy String::Util Text::CSV_XS Text::xSV::Slurp XML::Simple XML::XPath enum::hash Attribute::Constant Number::Format PadWalker Term::Encoding =cut
- 複数のCPANモジュールを一括インストール - Kawa.net 旧ゆうすけブログ (Yahoo!版)
インストール済みのモジュールのバージョン確認
- Linux
# perl -M(モジュール名) -e 'print "$(モジュール名)::VERSION\n";' # perl -MJSON::Syck -e 'print "$JSON::Syck::VERSION\n";'
- Win
> perl -M(モジュール名) -e "print $(モジュール名)::VERSION;" > perl -MJSON::Syck -e "print $JSON::Syck::VERSION;"
cpanminus
インストール
- yum
# yum install perl-App-cpanminus
- CPAN
# perl -MCPAN -e "CPAN::Shell->install('App::cpanminus')" # cpanm App::cpanoutdated
cpanm 自身のアップグレード
# cpanm --self-upgrade
一括更新
# cpan-outdated | cpanm
ppm
一括更新
> ppm upgrade --install
複数のパッケージをまとめてインストール
- パッケージを複数指定する。
> ppm install Env Fatal Test::Warnings Test::Output Test::Deep Time::Piece > ppm install CGI URI::Escape::XS File::Basename FindBin::libs Getopt::Long > ppm install HTTP::Date JSON::XS Lingua::JA::Numbers Lingua::JA::Regular::Unicode > ppm install Log::Dispatch MIME::Base64 Socket Net::IP Net::Wake Crypt::SSLeay Perl::Tidy > ppm install String::Util Text::CSV_XS Text::xSV::Slurp XML::Simple XML::XPath > ppm install enum::hash Attribute::Constant Number::Format PadWalker Term::Encoding