| Win32 FAQ |
perlwin32faq11 - PPMを使ったモジュールインストール
PPMによる Perl for Win32 用モジュールのインストールおよびアップグレード方法
Perl Package Manager (PPM)は、Win32互換のPerlモジュールとエクステンション(パッケージ)を管理するためのコマンドラインインターフェースを提供するものです。 PPMを使うと、リポジトリへのアクセス、システムへのパッケージのインストール・削除が可能になります。また、PPMを使ってパッケージをインストールしたものについては、最新版へのアップデートもPPMで簡単に行えます。
Perl for Win32 をインストールすると、PPMも一緒にインストールされます。Perl for Win32 は、ActivePerlのインストーラでインストールします。
PPMを実行する前に、インターネットに接続しておかなければなりません。インターネット接続がファイアウォールやプロキシ経由の場合、環境変数HTTP_proxyにプロキシサーバ名をセットしておきます。プロキシサーバがユーザ名・パスワードを要求してくる場合は、環境変数HTTP_proxy_userとHTTP_proxy_passに値をセットします。詳しくは、 PPM、プロキシ、ファイアウォールを参照してください。
PPMを実行するには、コマンドプロンプト画面で「ppm」と入力します。
近道:利用可能な全パッケージのリストを得るには、PPMコマンドプロンプトで、「search」と入力します。「search」コマンドで表示された<パッケージ名>を確認して、「install <パッケージ名>」と入力します。
PPMでインストールしたパッケージの一覧を調べるには、「query」コマンドを使います。
パッケージリストのスクロールが早すぎる場合は、「set more <number>」コマンドを使うとよいでしょう。<number>分のパッケージが表示されると、一旦リスト表示を停止するようになります。次回以降のPPMセッション用に設定を保存するには、「set save」コマンドを使います。
デフォルトでは、PPMはActiveState社のパッケージリポジトリを使用しますが、これは「set」で設定変更可能です。詳細は、下記のパッケージリポジトリはどこにあるのですか?を参照してください。
以下は、主なPPMコマンドの一覧です(特定の<コマンド>の詳しい使用方法を調べるには、PPMプロンプトで「help <コマンド>」と入力します)。[ブランケット]内の項目はオプションです。
| コマンド | 機能 |
| genconfig | 標準出力に最小のPPM設定ファイルを出力。 |
| help [command] | コマンド一覧、もしくは、コマンドのヘルプを表示。 |
| info [package1...] | インストール済みのパッケージのサマリを出力。 |
| install package1 [package2...] | 指定したパッケージをインストール |
| quit | プログラムを終了。 |
| query [pattern] | インストール済みのパッケージのリスト、もしくはpatternを含むパッケージのリストを表示。 |
| query /abstract [pattern] |
インストール済みのパッケージの概説のリスト、もしくはpatternを含むパッケージの概説のリストを表示。
|
| remove package1 [package2...] | システムから指定したパッケージを削除。 |
| search [pattern] |
利用可能なパッケージのリスト、もしくはpatternを含むパッケージのリストを表示。
|
| search /abstract [pattern] | 利用可能なパッケージの概説のリスト、もしくはpatternを含むパッケージの概説のリストを表示。 |
| set | 現在のオプションをセット/表示。 |
| set save | 現在のオプションを保存。 |
| summary [package1...] | 利用可能なパッケージのサマリを出力。 /td> |
| verify [package1...] | インストール済みのパッケージが最新のものか確認。 |
| verify /upgrade [package1...] | パッケージのアップグレード版をインストール。 |
patternは正規表現のような検索文字列です。 たとえば、次のコマンドで検索する場合、
search ODBC|DBI
(これは「ODBCとDBIという文字列のどちらか、または両方を含んでいるパッケージを検索する」という意味ですが、)結果は以下のようになります。
Apache-DBI
DBD-ODBC
DBI
FindBin
Win32-ODBC
'search /abstract [pattern]'を使う場合、パッケージ名だけではなく、パッケージファイルの概説部も検索されます。
PPMは、デフォルトではActiveStateのパッケージリポジトリを使いますが、インターネット上には他のリポジトリもあります。現時点では下記のリポジトリが確認されています。:
http://www.activestate.com/packages ActiveState社のデフォルトパッケージリポジトリ http://Jenda.Krynicky.cz/perl Jan Krynickyのパッケージリポジトリ http://www.roth.net/perl/packages/ Roth Consulting社のパッケージリポジトリ http://www.xray.mpe.mpg.de/~ach/ptk/ppm Achim Bohnetのパッケージリポジトリ http://rto.dk/packages/ RTO社のパッケージリポジトリ (大半は上記のミラー)
http://www.fastnetltd.ndirect.co.uk/Perl/zips/ Fastnet Software Ltdのパッケージ - 現時点では、PPMからの直接アクセスは不可。
これらのパッケージを使うには、PPMを起動し、プロンプトで次のように入力します。
set repository 名前 URL
名前は、PPMから参照しようとしているリポジトリの名前で、URLはそのリポジトリへのURLです。 たとえば、次のように入力します。
set repository JENDA http://Jenda.Krynicky.cz/perl
次に'search'を行う時は、ActiveState社のパッケージリポジトリだけではなく、追加したリポジトリも検索します。 PPMを終了する前に、'set save'コマンドを入力して、変更した設定内容を保存しておいた方がよいでしょう。
他機でも使用できるようにPPMパッケージを作りたい場合は、下記のようにするとよいでしょう。:
Makefile.PL内にAUTHORとABSTRACTパラメータをセットします。これは、 Perlのバージョンが5.005以上であれば、WriteMakefileにパラメータを渡すだけのことです。しかし、 5.005より前のPerlにはこれらの追加パラメータはありませんでしたし、あっても無視されます。 以下はMakefile.PLのサンプルです。:
use ExtUtils::MakeMaker;
# Makefileの内容にどう作用するかについては
# lib/ExtUtils/MakeMaker.pmを参照
WriteMakefile(
'NAME' => 'Term::Control',
'VERSION_FROM' => 'Control.pm', # $VERSIONを見つける
($] ge '5.005') ? (
'AUTHOR' => 'Johnny Doel (johnny@doel.org)',
'ABSTRACT' => 'Control the IO for terminals',
) : (),
);
それから、次のコマンドでアーカイブを作成します。
perl Makefile.PL
nmake
生成されたファイルは、nmakeを実行した時に作成されるblibディレクトリに格納されます。 このファイルは、次のようにして一つのアーカイブにまとめます。
tar cvf package.tar blib
gzip --best package.tar
これで、package.tar.gzというアーカイブができました。 次は、以下のようにしてPPDファイルを作成します。:
nmake ppd
出来たPPDファイルは編集して、<CODEBASE HREF="" />にパッケージアーカイブのロケーションを追加しなければなりません。
nmakeは、 ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe で入手することができます。 tarとgzipは、 http://www.itribe.net/virtunix/ から入手可能です。
プロキシサーバやファイアウォールを使っていると、PPMの実行に問題が生じることがあります。解決策は以下の通りです。
注意) このドキュメントによる修正で全く効果が出なかった場合、 ここから個別パッケージをダウンロードし、ZIPファイルに入っているREADMEファイルの指示に従ってインストールしてください。 固定リポジトリディレクトリの.ppdファイル及びそのしたのx86ディレクトリの.tar.gzファイルで構成されるローカルなリポジトリを作ることができます。
環境変数をセットする
最大で3つの環境変数をセットする必要があります。
Windows NTでは
"マイ コンピュータ"を右クリックし、"プロパティ"をクリックして"環境"タブを選択します。 それが現在の環境設定内容です。ここで、次の修正を行います。:
- 値としてプロキシ名をセットしたHTTP_proxyを追加します(先頭には"http://"を付けておかなければなりません)。必要であれば、末尾にコロンとプロキシ用ポート番号を付加します。;例) "http://proxy:8080"
- プロキシサーバが、ユーザ名及び/あるいはパスワードを要求する場合は、HTTP_proxy_userとHTTP_proxy_passを追加設定します。値には、それぞれユーザ名とパスワードをセットします。
Windows 95では
AUTOEXEC.BATファイルに次の行を追加したら、変更内容を有効にするためにリブートします。:
- SET HTTP_proxy=<your proxy server (先頭には"http://" >を付けなければなりません。必要であれば、、末尾にコロンとプロキシ用ポート番号を付加します。;例) SET HTTP_proxy=http://proxy:8080
- SET HTTP_proxy_user=<あなたのユーザ名> (必要な場合のみ)
- SET HTTP_proxy_pass=<あなたのパスワード> (必要な場合のみ)
PPMを使ってみる
インターネットに接続して、再度PPMを使ってみてください。 まず、File-Slurpのような小さなパッケージをインストールしてみるとよいでしょう。 指定したパッケージ用のppdファイルが見つからないというエラーが出る場合は、うまくいっていないということです。
詳細情報とヘルプ
上記のヒントに不明な点がある場合、こちらを参照してください。
この FAQ は、元々Evangelo Prodromou evangelo@endcontsw.comが作成し、保守していたものです。 現在、この文書は、O'Reilly社のBrian Jepson、ActiveState社のDavid GroveとDavid DmytryshynとMurray Nesbitt、RTO社のHenning Michael Møller-Nielsen、Kevin Meltzerが改訂・更新しています。
このFAQはパブリックドメインですが、使用する場合はオリジナルの作者について明示してください。
| Win32 FAQ |