web-dev-qa-db-ja.com

CPANからインストールするPerlモジュールをアップグレードする方法は?

Cpan Shellでは、/ regexp /またはallモジュールのみをアップグレードできます。CPANによってのみインストールされたモジュールをアップグレードする場合、どうすればよいですか?

15
zhangailin

Perlモジュールの管理にはcpanmの「ファミリ」スクリプトを使用することをお勧めします。

インストール cpanm

  • すでに持っている場合は、これをスキップしてください
  • curl -L http://cpanmin.us | Perl - --Sudo App::cpanminus
  • freebsdを使用している場合は、代わりにコマンドfetchをcurlすることができます(man fetchを参照)。

アップグレードcpanm

  • 今すぐインストールした場合は、これをスキップしてください
  • cpanm --self-upgrade --Sudo

インストール cpan-outdated

  • cpanm App::cpanoutdated
  • Cpan-outdatedコマンドはCPAN(r)と同じですが、シェルからIMOを使用する方が適切です。

たとえば、私のノートブックだけが次のような結果をもたらします。

marvin:~ jomo$ cpan-outdated
S/SM/SMUELLER/Attribute-Handlers-0.93.tar.gz
D/DR/DROLSKY/Class-Load-0.20.tar.gz
D/DR/DROLSKY/DateTime-TimeZone-1.47.tar.gz
... etc

Cpan-outdated&upgradeモジュールを実行する

  • cpan-outdated -p | cpanm

変更点

何が変更されたか(変更ログ)を確認したい場合は、インストールを試すことができます cpan-listchanges

  • cpanm App::cpanlistchanges
  • 次のように使用します:cpan-listchanges Plack-ローカルと最新のCPANの間でPlackで何が変更されたかを確認してください
19
jm666
# cpan
cpan> h

Display Information                                                (ver 1.9800)
 command  argument          description
 a,b,d,m  Word or /REGEXP/  about authors, bundles, distributions, modules
 i        Word or /REGEXP/  about any of the above
 ls       AUTHOR or GLOB    about files in the author's directory
    (with Word being a module, bundle or author name or a distribution
    name of the form AUTHOR/DISTRIBUTION)

Download, Test, Make, Install...
 get      download                     clean    make clean
 make     make (implies get)           look     open subshell in dist directory
 test     make test (implies make)     readme   display these README files
 install  make install (implies test)  perldoc  display POD documentation

Upgrade
 r        WORDs or /REGEXP/ or NONE    report updates for some/matching/all modules
 upgrade  WORDs or /REGEXP/ or NONE    upgrade some/matching/all modules

Pragmas
 force  CMD    try hard to do command  fforce CMD    try harder
 notest CMD    skip testing

Other
 h,?           display this menu       ! Perl-code   eval a Perl command
 o conf [opt]  set and query options   q             quit the cpan Shell
 reload cpan   load CPAN.pm again      reload index  load newer indices
 autobundle    Snapshot                recent        latest CPAN uploads

以下のコマンドを実行するだけで、要求どおりの処理が実行されます。

cpan> upgrade
6
cdtits

最初にcpanにログインする必要があります。次に、プロンプトタイプで1回:

r  [enter]

これにより、インストールされているアップグレード可能なモジュールのリストが出力されます。そのリストを作成したら、次を使用できます。

cpan upgrade <MODULE NAME>

アップグレードするモジュールの名前に置き換えるだけです。

よろしく、

ジェフ

4
numberwhun
$ cpan Module

そして

cpan> install Module 

新しいバージョンが利用可能な場合はアップグレードされ、最新バージョンがすでにある場合は何もしません。

4
ikegami