Perl ディストリビューション。
がパッケージ化されている。
Perl モジュールについては PPM によって管理されている。 普通にソースパッケージから (n)make install でインストールすることもできるが、できれば PPM パッケージを作成してインストールした方がトラブルが少ない。
コマンド プロンプトを開かない -> wperl.exe を使う。
ポータブルアプリケーション詰め込み。
自分の場合エディタと Perl があれば随分できることが増えるので、何とか Perl を入れておきたい。 しかし定番の Windows 用 ActivePerl はセットアップが必要であり、持ち歩きには向かない。
何かいい Perl ディストリビューションがないかなと探してみたところ、インストール不要の Apache ディストリビューションが目についた。 そういえばこれらには Perl が含まれていてインストール不要で使えるものがあるらしいので、それらが使えるかもしれない。
標準の XAMPP では Perl インタプリタしか入っていなかった。 さすがにこれでは使い物にならない。
XAMPP で実用的な Perl 環境を用意するにはこちら。ActivePerl 5.8.8.817 上に Web アプリケーションに必要そうな パッケージが用意されている。 そのかわり 200MB (!) 近い容量が必要。 でかすぎ。
README には setup_xampp.bat に実行の指示がある。
ActivePerl 5.8.7.815 が含まれている。 Perl インタプリタと、いくつかのパッケージが含まれている。 パッケージは結構少なめにおさえてあるので、容量はかなり少ない。 しかし
perl -MConfig -e "print Config::myconfig()"
が動かないなどそのまま使えるわけではなさそうだ。
試した2つとも結局は ActivePerl を使っているようである。 ActivePerl の部分のライセンスはどうなっているのだろう?
もしかしたら ActivePerl の AS package を展開して、不要なファイルを削除すれば (インストーラで設定されるリポジトリなどの情報を使う部分は駄目にしろ)、ある程度動くのかな。
それと Installer.bat の中で、一部ファイル(.bat、Config.pm、Config_heavy.pl、perllocal.pod、.packlist、config.h) のリロケーションをしているので、このあたりがポイントになりそう。
要確認。
ActivePerl 5.8.8.819 までは .ppd と .tar.gz ファイルを置いたディレクトリを Web サーバで公開しておけば、そのディレクトリの URL を PPM リポジトリとして指定して使うことができた。
これが build 820 付属の PPM だとスキャンしてくれなくなった。 リポジトリの URL を指定する際、package.xml を指定しないと駄目らしい。
PPM リポジトリとして必要なファイル群は PPM-Make に含まれている rep_summary コマンドで生成することができる。
rep_summary --rep /path/to/ppm/repository
今後はこれで package.xml その他のファイルを生成しておくことにする。
一方複数の PPM リポジトリの扱いは良くなった。build 819 付属の PPM では、複数のリポジトリにまたがってパッケージの依存解決ができなくなっていて不便だったのだが、build 820 のものでは、以前のバージョンのもののようにまたがれるようになった。
基本的な PPM パッケージ群用と、プロジェクト毎の PPM パッケージ群用の PPM リポジトリを組み合わせて使うときに、依存解決できないと厄介だったのでこれは○。
build 819 のインストーラでは site\bin に PATH を通してくれないので、site にインストールしたパッケージ付属のコマンドが呼び出せず不便であった(もちろん自分で PATH を通せばよいのだが)。
build 820 のインストーラでは site\bin も PATH にいれてくれるようになった。○。
[ ActivePerl ]
今会社で使っているデスクトップ PC は Dell Dimension 4500C。 Pentium 4 2.40 GHz、メモリ 768MB の Windows XP Home Edition SP2。
ここ最近メモリが足りないのかすぐアプリケーションが落ちまくり。 またいろんなソフトウェアインストールしたりアンインストールしたりを繰り返していたのでシステムがおかしくなってきているのか、動作も怪しい。
ちょっと仕事にならないレベルなってきたので、空いている別の Dell の PC に乗り替えることにした。
乗り替え先は Dell Dimension C521。 AMD Athlon 64 3200+、メモリ 1GB の Windows XP Home Edition SP2。
OS は Dell PC リストアで出荷状態に戻す。 と思ったらテストサーバとして Fedora とデュアルブートとして使われていたため、MBR が書き換えられていたのか Dell PC リストアに入れない。 Web で調べたところ Dsrfix というので元に戻せるとのことなので、これを使って MBR を戻す。
で Dell PC リストア。リストア自体は結構あっという間に終わる。
Windows XP セットアップ後、順次ソフトウェアの追加・削除。 以下今日の作業分。
あとは前の環境で入れていたもののうち、必要になったら順次入れていく予定。
XKeymacs、SKKIME、zyzzy、 Unlocker、TrueCrypt、 Subversion、TortoiseSVN、WinMerge ThinkingRock、Ripplex、 PDFCreator、ImgBurn、 JUDE/Community、DBDesigner、NUnit。
今まで HHK Lite 使ってきてたけれど、これ PS/2 なので C521 には直接ささらないんだよな。どうしよう。PS/2 - USB コンバータ買うか。
それとも USB モデルの HHKB Lite 2 買うか。 カーソルキーはいらないけれど、HHKB Professional 2 は高いしキータッチが好みじゃないしなあ。悩ましい。
久しぶりに PAR の出番。 休日出勤して環境作り。
今回実行可能ファイルにしたい Perl プログラムが Perl 5.8 で開発・テストされているものの改訂版で、必要な PPM パッケージも 8xx 用に作りだめしてあるので、ActivePerl 5.8.9.825 上で行うことにした。
PAR::Packer は ActivePerl の build と合っていないとうまく動かないので、自分でソースからビルドして PPM パッケージ化する。 必要な依存モジュールのバージョンも軒並み上がっているので、それらもビルド。
今まで Visual Studio 6.0 でビルドしていたのだけれど、この間 PC をかえてから入れていなかったので、今回は MinGW を使うことにした。 SourceForge.net 上から g++ をダウンロードしてネットワークインストールできないようなので、そこだけ SourceForge.JP で探してきてインストール。
MinGW の bin ディレクトリを PATH に追加したら、特に問題なく Perl モジュールコンパイルできている。素晴しい。ExtUtils::FakeConfig 無くてもいいのかな。
ActivePerl 5.10.0.1005 + Visual Studio 2005 SP1 上で PAR::Packer を使って実行可能ファイル化したものの、今日別の環境で動かしたら「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」というエラーがでてしまった。
今まで Visual Studio 6.0 で PPM パッケージの作成やら PAR::Packer による実行可能ファイル化をしていたので気がつかなかったのだが、調べてみると Visual Studio 2005 以降だとどうもいろいろ面倒らしい。
ActivePerl + PPM パッケージだと自分で PPM リポジトリを用意しておくことで、開発環境の統一が楽になるという利点があったのだけれどもしばらく一筋縄ではいかなさそうなので、別の Perl ディストリビューションを使ってみることにした。
Windows 上の Perl としてしばらく使ってみることにしたのは Strawberry Perl。現在のバージョンは 5.10.0.6。 以前にもちょっと入れてみたことはあったけれども、きちんと使ってみるのは初めて。
MinGW や dmake が同梱されており、CPAN.pm を使って UNIX 上と近い感覚で Perl モジュールのインストールができる。 PAR::Packer を使って実行可能ファイル化した Perl スクリプトも実行できることを確認。
しばらく乗り替えてみることにする。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。