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
    すべてを展開すべてを収束
      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
     30
     31
    
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    
    package Bundle::MyPackages;
     
    use strict;
    use utf8;
    use vars qw( $VERSION );
    $VERSION = "0.01";
    1;
     
    =head1 CONTENTS
     
    CGI
    File::Basename
    FindBin::libs
    Getopt::Long
    HTTP::Date
    JSON::XS
    Lingua::JA::Numbers
    Lingua::JA::Regular::Unicode
    Log::Dispatch
    MIME::Base64
    Net::IP
    Net::Wake
    Perl::Tidy
    Socket
    String::Util
    Text::CSV_XS
    Text::xSV::Slurp
    XML::Simple
    XML::XPath
     
    =cut
  • 複数のCPANモジュールを一括インストール - Kawa.net 旧ゆうすけブログ (Yahoo!版)
  • ppm の場合はパッケージを複数指定する。
    > ppm install CGI File::Basename FindBin::libs Getopt::Long HTTP::Date
    > ppm install JSON::XS Lingua::JA::Numbers Lingua::JA::Regular::Unicode
    > ppm install Log::Dispatch MIME::Base64 Net::IP Net::Wake Perl::Tidy Socket
    > ppm install String::Util Text::CSV_XS Text::xSV::Slurp XML::Simple XML::XPath

インストール済みのモジュールのバージョン確認

  • 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

インストール

# perl -MCPAN -e "CPAN::Shell->install('App::cpanminus')"
# cpanm App::cpanoutdated

cpanm 自身のアップグレード

# cpanm --self-upgrade

一括更新

# cpan-outdated | cpanm

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 16 Jun 2017 11:56:31 JST (129d)