Cpan Shellでは、/ regexp /またはallモジュールのみをアップグレードできます。CPANによってのみインストールされたモジュールをアップグレードする場合、どうすればよいですか?
Perlモジュールの管理にはcpanmの「ファミリ」スクリプトを使用することをお勧めします。
curl -L http://cpanmin.us | Perl - --Sudo App::cpanminus
cpanm
cpanm --self-upgrade --Sudo
cpanm App::cpanoutdated
たとえば、私のノートブックだけが次のような結果をもたらします。
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 -p | cpanm
何が変更されたか(変更ログ)を確認したい場合は、インストールを試すことができます cpan-listchanges
cpanm App::cpanlistchanges
cpan-listchanges Plack
-ローカルと最新のCPANの間でPlackで何が変更されたかを確認してください# 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
最初にcpanにログインする必要があります。次に、プロンプトタイプで1回:
r [enter]
これにより、インストールされているアップグレード可能なモジュールのリストが出力されます。そのリストを作成したら、次を使用できます。
cpan upgrade <MODULE NAME>
アップグレードするモジュールの名前に置き換えるだけです。
よろしく、
ジェフ
$ cpan Module
そして
cpan> install Module
新しいバージョンが利用可能な場合はアップグレードされ、最新バージョンがすでにある場合は何もしません。