Thursday, December 2, 2010

ActivePerl のモジュールをアップグレードする

PPM MSWin32-x86

ActivePerl の特徴の一つに Perl Package Manager (PPM) を使ったモジュール管理があります。

マウスでぽちぽちしてPerl モジュールをインストール、アップグレード、アンインストールできるもので、使い易い GUI アプリケーションがありますが、同等のことをコマンドラインから実行することもできます。

ppm help

コマンドプロンプトから ppm help と入力すると使い方が表示されます。

ActivePerl のインストールパッケージのリリース後、PPM リポジトリが利用可能になる頃にはいくつものモジュールの新しいバージョンが公開されていると思うので、モジュールのバージョンに関する事情が無ければごっそりアップグレードしてしまいましょう。

マウスでぽちぽちやっても同様の効果ですがコマンドラインからは以下のようにやります。

# ActivePerl インストール直後、モジュールアップグレード前
C:\Perl64\bin>.\ppm area list
┌───────┬──────┬────────────────────┐
│ name  │ pkgs │ lib                │
├───────┼──────┼────────────────────┤
│ site* │    0 │ C:/Perl64/site/lib │
│ perl  │  227 │ C:/Perl64/lib      │
└───────┴──────┴────────────────────┘

# PPM リポジトリの状態を更新
C:\Perl64\bin>.\ppm repo sync
Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done

# アップグレード可能なモジュールをすべてアップグレード
C:\Perl64\bin>.\ppm upgrade --install

# ぜんぶアップグレードできました
C:\Perl64\bin>.\ppm upgrade
*** no upgrades available ***

新たにインストールするモジュールや、アップグレードされたモジュールは、既定では site エリアへ配置されます。

C:\Perl64\bin>.\ppm area list
┌───────┬──────┬────────────────────┐
│ name  │ pkgs │ lib                │
├───────┼──────┼────────────────────┤
│ site* │   65 │ C:/Perl64/site/lib │
│ perl  │  227 │ C:/Perl64/lib      │
└───────┴──────┴────────────────────┘

ActivePerl というと Windows の Perl ディストリビューションというイメージがあると思いますが、Mac OS X をはじめ各種 UNIX と GNU Linux 用のインストールパッケージも用意されています。

GUI のないサーバーへの接続時のほか、自分で作った ppm パッケージのインストール時にもコマンドラインからの PPM 操作を覚えておくと役立つことがあるかと思います。

自分でモジュールを書いている人は、Module::Build などを使って ppm パッケージを簡単に作ることができますよ。

…と書いたけど、PPM についてもっと突っ込んだ手っ取り早い記事が、上記 advent calendar の記事を書かれた @xaicron さんのブログにありました。

No comments:

Post a Comment