« Active Perl の ppm をプロクシー越しに行う | メイン | 条件に合うユーザを一括でグループに加える »

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 と入力すると説明を読むことが出来る。

投稿者 augustus : 2004年01月25日 16:29

トラックバック

このエントリーのトラックバックURL:
http://www.augustus.to/cgi-bin/blog/mt-tb.cgi/48

このリストは、次のエントリーを参照しています: Active Perl の ppm をインターネットに接続されていないPCで使う。:

» オフラインでperlモジュールinstall from 遊びたいSE
 はじめまして。  perlモジュールのオフラインインストール方法を  探してい [続きを読む]

トラックバック時刻: 2004年06月24日 00:16

コメント

 はじめまして。

 オフラインでモジュールのインストール方法を
 探していたら、ここに辿り着きました。
 (先程、間違ってトラックバックをうってしまいました。
  すいません。しかも初トラックバックでした)

 リポジトリを”rep addコマンド”で追加した後に、
 追加したリポジトリをアクティブにするという操作は
 必要なのでしょうか?

 実は、”rep addコマンド”でリポジトリの追加までは
 うまくいっているとおもうのですが、そのあとの
 ”installコマンド”で必ず失敗します。
(Error: no suitable installation target found for package DBD-Mysql.)
 
 突然で恐縮なのですが、宜しければ、知恵をお借りできないでしょうか?

投稿者 遊びたいSE : 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 に書いてあることは関係してませんか?

投稿者 augustus : 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]であればインストール不可と
考えていいものなのでしょうか?

投稿者 遊びたいSE : 2004年06月26日 04:03

解決できてよかったですね。

FAIL は文字通りインストールに失敗するし、
PASS はインストールできます。
CORE は Active Perl をインストールするときにデフォで入るのでわざわざインストール作業をしなくて良いです。

投稿者 augustus : 2004年06月27日 09:44

 本当に有難うございました。このサイトを知って、perlのことがもっと詳しく分かりそうです。感謝 感謝!です

投稿者 遊びたいSE : 2004年06月29日 00:11

コメントしてください




保存しますか?