2004年01月25日

Active Perl の ppm をインターネットに接続されていないPCで使う。

Active Perl でモジュールを追加するには PPM を使うのが簡単だ。最新のモジュールを Active State 社のサイトに探しに行ってくれ大変便利なのだが、インターネットから切り離されたPCで Perl のモジュールを入れたいときもあるだろう。そういうときは PPM の rep コマンドを利用してモジュールの場所を指定すれば良い。

  1. まずは、インターネットに繋げるPCで追加したいモジュールをダウンロードしてくる。 http://ppm.activestate.com/PPMPackages/ には zip で圧縮されたモジュールがあるので、適当なディレクトリに解凍しておく。それを好きな外部メディアを使ってモジュールを追加したいコンピュータにコピーしておく。(ここでは C:\perl_mod にコピーしたとする。)
  2. コマンドプロンプトから PPM を起動する。
  3. PPM のプロンプトから
    rep add 適当な名前 モジュールを入れたディレクトリ名
    と入力する。(ディレクトリ名のところには ppd ファイルが入っているディレクトリを指定する。) モジュールが C:\perl_mod にあるなら、
    rep add local_perl_mod c:\perl_mod
    みたいに入力すれば良い。
    次に別のモジュールを追加するときもこのディレクトリを利用するようにすれば、 rep add コマンドをもう一度やる必要はない。
  4. ここまで用意しておけば ppm の install コマンドが使える。ただし、依存関係にあるモジュールが入っていないときはうまく行かない。
rep add コマンドは、PPM がモジュールを探しに行く場所の指定を行うものである。だから、同じディレクトリにモジュールを保管するようにすれば、次回から rep add コマンドを入力せずにモジュールのインストールが可能になる。

詳しくは ppm を起動した状態で help rep と入力すると説明を読むことが出来る。

Posted by augustus at 2004年01月25日 16:29 | TrackBack
Comments
 はじめまして。  オフラインでモジュールのインストール方法を  探していたら、ここに辿り着きました。  (先程、間違ってトラックバックをうってしまいました。   すいません。しかも初トラックバックでした)  リポジトリを”rep addコマンド”で追加した後に、  追加したリポジトリをアクティブにするという操作は  必要なのでしょうか?  実は、”rep addコマンド”でリポジトリの追加までは  うまくいっているとおもうのですが、そのあとの  ”installコマンド”で必ず失敗します。 (Error: no suitable installation target found for package DBD-Mysql.)    突然で恐縮なのですが、宜しければ、知恵をお借りできないでしょうか? Posted by: 遊びたいSE at 2004年06月24日 00:56
rep add のあとすぐに install コマンドが使えます。エラーの原因は別のところにあると思います。 (1)インストールされている perl は ActivePerl ですか? (2)ppm がターゲットにしている build 番号は ActivePerl の build 番号とあっていますか? (3)http://ppm.activestate.com/BuildStatus/5.8.html に書いてあることは関係してませんか? Posted by: augustus at 2004年06月24日 07:28
 解決しました。お騒がせしてすいません。  大変助かりました!!!感謝 感謝です!  わかったことなのですが、 rep addコマンドで登録されたリポジトリを Activateする作業なんてないのですね!  エラーは別のところにあると仰られた通り、 エラーは別のところにありました。  原因は、perlのバージョン&&OS&& ダウンロードしたモジュールでした。  ActivePerl5.8.3を使用しているので、 build8系で且つWin用のモジュールを ダウンロードしなければならなかったのです!  使用しているperlの種類(ActivePerl等)、 OS、それらに合致したモジュールを ダウロードするという基本的なことが 抜けていました。  ちょっと英語で苦労しているのですが、 http://ppm.activestate.com/BuildStatus/5.8.html でかいていることというのは、 「ActivePerl5.8.系」のモジュールで、 [RED(FAIL)]というモジュールはインストールできないと いう意味でしょうか?  [RED(FAIL)]は実際に試してみてもだめだということが わかるのですが、 いまいち[WHITE]と[GREEN]の違いがよくわかりません。  どちらもppmでインストールできてしまいます。  [Symbol Guide]の[RED][WHITE][GREEN]の説明を みるとなんとなくわかるのですが、それに加え、 [PASS][FAIL][CORE]という組み合わせをきっちり考えて いくと意味がわからなくなります。  とりあえず、[RED]であればインストール不可と 考えていいものなのでしょうか? Posted by: 遊びたいSE at 2004年06月26日 04:03
解決できてよかったですね。 FAIL は文字通りインストールに失敗するし、 PASS はインストールできます。 CORE は Active Perl をインストールするときにデフォで入るのでわざわざインストール作業をしなくて良いです。 Posted by: augustus at 2004年06月27日 09:44
 本当に有難うございました。このサイトを知って、perlのことがもっと詳しく分かりそうです。感謝 感謝!です Posted by: 遊びたいSE at 2004年06月29日 00:11
Post a comment









Remember personal info?