!!!PPMって {{category Parl,Windows,nolink}}ActivePerl のパッケージマネージャー PPM (Programmer's Package Manager)。 CPANによるインストールと異なり、PPMでのインストールは、コンパイル済みバイナリモジュール(とスクリプト)をコピーするので、まず失敗することはないと思います。それでも失敗する場合は、ダウンロードの失敗(ネットワークの設定かリポジトリの設定)が原因となる。 また、多くのモジュールが用意されているが、CPANにしかなかったり、CPANの方が最新であったりするので、問題があれば、[[CPANでの方法|ParlModule/CpanInstall]]も試してください。 !!!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 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|http://par.perl.org/wiki/FAQ#ppm] にも書かれている。上の theoryx5 にも PAR-Packer モジュールは入るようになったっぽい。 *http://www.bribes.org/perl/ppm/