INDEX
PPMって
ActivePerl のパッケージマネージャー PPM (Programmer's Package Manager)。
CPANによるインストールと異なり、PPMでのインストールは、コンパイル済みバイナリモジュール(とスクリプト)をコピーするので、まず失敗することはないと思います。それでも失敗する場合は、ダウンロードの失敗(ネットワークの設定かリポジトリの設定)が原因となる。
また、多くのモジュールが用意されているが、CPANにしかなかったり、CPANの方が最新であったりするので、問題があれば、CPANでの方法も試してください。
PPM対話モード
コマンドプロンプトで、ppm と入力する。
C:\> ppm
PPMのヘルプを読むには、help コマンドを実行する。各コマンドのヘルプは、コマンド名を指定する。
ppm> help ppm> help install
また、各PPMコマンドの処理は、コマンドプロンプトから直接実行することも出来る。例えば、インストールの場合は次のようになる。
C:\>ppm install Shell-Perl
パッケージのインストール
PPM対話モードで、install コマンドを使いインストールするパッケージ名を指定する。依存関係がある物は必要に応じてインストールされる。
ppm> install Shell-Perl
最後に「Successfully installed 」といったメッセージが表示されれば成功。
パッケージ名の指定で、「Shell::Perl」を指定する際、「Shell-Perl」と「Shell::Perl」と2つの方法で指定できる。ハイフンで指定した場合は、一致するパッケージをインストールするが、コロンで指定した場合は、一度モジュールの検索を行い、該当するモジュールが1つであればインストールを行い、複数ある場合は、候補の一覧を表示する。
パッケージの検索
パッケージ名に「Shell」が含まれているものを検索する。
ppm> search Shell
分類に「compress」が含まれているものを検索する。
ppm> search ABSTRACT=compress
パッケージの一覧
インストールしたパッケージの一覧を取得する。
ppm> query *
パッケージの更新
インストールされているパッケージを更新を確認する。対象のパッケージ名やインストールされたパッケージの番号を指定する。指定しなかったり、アスタリスクを指定するとすべてが対象になる。
ppm> upgrade ppm> upgrade Shell-Perl
古くなったパッケージを更新する場合は、-install オプションを追加する。
ppm> upgrade -install ppm> upgrade -install Shell-Perl
パッケージの削除
remove コマンドで入れたパッケージを削除する。
ppm> remove Shell-Perl
パッケージの説明
describe(desc) コマンドでパッケージの情報が取得できる。インストールの有無にかかわらずリポジトリから最新の情報を持ってくる。
ppm> desc Compress-Zlib
====================
Name: Compress-Zlib
Version: 2.007
Author: Paul Marquess (pmqs@cpan.org)
Title: Compress-Zlib
Abstract: Interface to zlib compression library
Location: bribes
Prerequisites:
1. Compress-Raw-Zlib 2.006
2. IO-Compress-Base 2.006
Available Platforms:
1. MSWin32-x86-multi-thread
2. MSWin32-x86-multi-thread-5.8
====================
インストールされたパッケージの説明
properties(prop) コマンドでインストールされているパッケージの情報が取得できる。
ppm> prop Compress-Zlib
====================
Name: Compress-Zlib
Version: 1.33
Author: Paul Marquess <pmqs@cpan.org>
Title: Compress-Zlib
Abstract: Interface to zlib compression library
InstDate: 19:34:13 2002
Location:
http://ppm.ActiveState.com/cgibin/PPM/ppmserver-5.8-windows.pl?urn:/PPMServer
====================
NAT, PROXY 環境下での利用
ネットワーク接続の関係で設定が必要なもの
passive FTP に設定
パッシブモードで動かす場合、環境変数 FTP_PASSIVE に 1 を設定する。(たぶん。FTP使ってる様子ないけど)
プロキシの対応
HTTPやFTPでプロキシを使う必要がある場合は、環境変数に必要な情報を設定する。
使用するHTTPのプロキシサーバを HTTP_PROXY で指定する。また、認証がある場合は、 HTTP_PROXY_USER, HTTP_PROXY_PASS にユーザ名とパスワードを指定する。
リポジトリ
PPM はリポジトリに設定されているサーバーにアクセスを試みて、パッケージを取得します。デフォルトで ActiveState のパッケージサーバーを参照するようになっている。
リポジトリの確認
現在登録されているリポジトリは、repository(rep) コマンドをオプションを付けず実行すると表示される。
ppm> rep Repositories: [1] ActiveState Package Repository
個々のリポジトリの詳細を取得する場合は、describe(desc) オプションを追加する。
ppm> rep desc ActiveState
Describing Active Repository 1:
Name: ActiveState Package Repository
Location: http://ppm.ActiveState.com/PPM/ppmserver-5.8-windows.plex?urn:/PPM/Server/SQL
Type: PPMServer 3.0
リポジトリの追加と削除
リポジトリの追加は、rep add を使用する。登録する名前とロケーション(サーバのURLかローカルのパス)を指定する。
ppm> rep add example http://www.example.com/ Repositories: [1] ActiveState Package Repository [2] example
リポジトリの削除は、rep del を使用する。削除するリポジトリの名前か番号を指定すると削除される。
ppm> rep del example Repositories: [1] ActiveState Package Repository
リポジトリの優先順位と有効・無効の設定
各リポジトリに付けられている番号は、参照する優先順位で、小さい順番に参照される。また、番号が振られていないリポジトリは参照されない。
リポジトリを無効にする場合は、rep off を使用し、対象のリポジトリの名前か番号を指定する。
ppm> rep off example Repositories: [1] ActiveState Package Repository [ ] example
リポジトリを有効にする場合は、rep on を使用し、対象のリポジトリの名前を指定する。
ppm> rep on example Repositories: [1] ActiveState Package Repository [2] example
リポジトリの優先順位は、rep up と rep down で変更する。変更するリポジトリの名前か番号を指定する。
ppm> rep up example Repositories: [1] example [2] ActiveState Package Repository
ppm> rep down example Repositories: [1] ActiveState Package Repository [2] example
リポジトリを名前で指定するとき、正確な名前以外に、先頭の数文字だけ指定することも出来る。
ローカルのリポジトリ参照設定
ローカルのディレクトリにあるパッケージを参照する場合、リポジトリにローカルのディレクトリを追加する。
ppm> rep add "LocalRepository" D:\Temp\ppd
もっとも、リポジトリを作らなくても、直接ファイルを指定してもインストールは出来る。
D:\Temp> ppm install ppd/Module-Name.ppd
リポジトリ一覧
主なPPMのリポジトリサイト
ActiveState Package Repositry
言わずと知れた、ActiveState のパッケージリポジトリ。
パッケージのビルドステータスは、以下のページで確認できる。
- http://ppm.activestate.com/BuildStatus/5.6.html (ActivePerl 6xx)
- http://ppm.activestate.com/BuildStatus/5.8.html (ActivePerl 8xx)
PPM Packages from the University of Winnipeg
Crypt関連、GD のモジュールなどはこちらのリポジトリを使用する。
- http://theoryx5.uwinnipeg.ca/ppmpackages/ (ActivePerl 6xx)
- http://theoryx5.uwinnipeg.ca/ppms/ (ActivePerl 8xx)
Bribes
スクリプトをEXE化するのに必要な PAR-Packer があるリポジトリ。RAR FAQ にも書かれている。上の theoryx5 にも PAR-Packer モジュールは入るようになったっぽい。
最終更新時間:2008年11月14日 16時48分00秒 指摘や意見などあればSandBoxのBBSへ。