ActivePerlを5.28にVerUpしたらppmが無くなっていた件

PCを新しくして色々なものを再インストールしている中、ActivePerlも最新のものを新たにインストールすることにした。

で、現在の最新が5.28だったのでそれをインストールて使用していた。

このときはppm(パッケージマネージャ)が無くなっている事には気付いていなかったが、新しく作成したcgiperlCGI.pmを使おうと思ってプログラムを組んでいたらCGI.pmが入っていない事が判明した。

しょうが無いと思ってppmを立ち上げてCGI.pmをインストールしようとして初めて、最近のActivePerlではppmが無くなっている事を知った。

で、一体どうすればCGI.pmを使える様になるのかと色々調べていたが、情報が全然見つからない… (みんなもうActivePerlとか使っていないのか??)

で、ヤクの毛刈り状態でイライラしながら色々調べていくうちに、どうやらActiveStateのサイト上でパッケージの組み合わせを変更したり出来る事が分かった。

今回はその辺の備忘録を兼ねてブログに記しておくことにする。

  1. https://www.activestate.com/ のサイトに行く。
  2. サインインする。(アカウントを持っていなかったので新規作成してサインイン。)
  3. [Set up a new Runtime] を押して新しいランタイムを登録する。(どうやらここで自分の使いたいモジュールを選んだ専用のランタイムパッケージを登録することが出来て、それをローカルにインストールすることで必要に応じてモジュールの抜き差しが出来るようになるらしい。)
  4. 作成したいパッケージの言語を選択。(今回はPerlを選択。)
  5. 後は画面に従ってPerlのバージョンや必要なモジュールを選択していくと目的のモジュールを含んだ専用パッケージが登録できる。
  6. パッケージをそのままローカルにダウンロードしてインストール、もしくはローカルPCのコマンドラインからリモートインストールするためのコマンドをコピーすることが出来る。(今回はモジュールをダウンロードしてローカルにインストール。)

これでCGI.pmが入った状態で新たにperlをインストールすることが出来た。

 

補足:

上記の作業でCGI.pmはインストールされたのだが、cgiを実行するとCGI.pmが見つからないというメッセージが出てエラーになる。IISの設定を確認してみると、perlのパスが上記のインストールで入ったそれでは無く、もっと前に入れてあったcygwinperlの方が設定されていた…

※ちなみにIISの設定を確認/変更するにはWindowsのスタートメニューから「Windows管理ツール」内、「インターネットインフォメーションサービス(IIS)マネージャー」を起動する。

CGIを実行するプログラムのパスを変更するにはIISマネージャを起動して「ハンドラーマッピング」を開く。その中の「*.cgi」の行をダブルクリックして表示されるダイアログの「実行可能ファイル」で目的のプログラムを選択する。

今回は「(インストールしたperlのあるパス)\perl.exe "%s" %s」という設定にしたところ、ようやく無事にcgiが動作した。