2004年01月25日
Active Perl の ppm をインターネットに接続されていないPCで使う。
Active Perl でモジュールを追加するには PPM を使うのが簡単だ。最新のモジュールを Active State 社のサイトに探しに行ってくれ大変便利なのだが、インターネットから切り離されたPCで Perl のモジュールを入れたいときもあるだろう。そういうときは PPM の rep コマンドを利用してモジュールの場所を指定すれば良い。
- まずは、インターネットに繋げるPCで追加したいモジュールをダウンロードしてくる。 http://ppm.activestate.com/PPMPackages/ には zip で圧縮されたモジュールがあるので、適当なディレクトリに解凍しておく。それを好きな外部メディアを使ってモジュールを追加したいコンピュータにコピーしておく。(ここでは C:\perl_mod にコピーしたとする。)
- コマンドプロンプトから PPM を起動する。
- PPM のプロンプトから
rep add 適当な名前 モジュールを入れたディレクトリ名
と入力する。(ディレクトリ名のところには ppd ファイルが入っているディレクトリを指定する。)
モジュールが C:\perl_mod にあるなら、
rep add local_perl_mod c:\perl_mod
みたいに入力すれば良い。
次に別のモジュールを追加するときもこのディレクトリを利用するようにすれば、 rep add コマンドをもう一度やる必要はない。
- ここまで用意しておけば ppm の install コマンドが使える。ただし、依存関係にあるモジュールが入っていないときはうまく行かない。
rep add コマンドは、PPM がモジュールを探しに行く場所の指定を行うものである。だから、同じディレクトリにモジュールを保管するようにすれば、次回から rep add コマンドを入力せずにモジュールのインストールが可能になる。
詳しくは ppm を起動した状態で help rep と入力すると説明を読むことが出来る。
Posted by augustus at 2004年01月25日 16:29
| TrackBack
はじめまして。
オフラインでモジュールのインストール方法を
探していたら、ここに辿り着きました。
(先程、間違ってトラックバックをうってしまいました。
すいません。しかも初トラックバックでした)
リポジトリを”rep addコマンド”で追加した後に、
追加したリポジトリをアクティブにするという操作は
必要なのでしょうか?
実は、”rep addコマンド”でリポジトリの追加までは
うまくいっているとおもうのですが、そのあとの
”installコマンド”で必ず失敗します。
(Error: no suitable installation target found for package DBD-Mysql.)
突然で恐縮なのですが、宜しければ、知恵をお借りできないでしょうか?
解決しました。お騒がせしてすいません。
大変助かりました!!!感謝 感謝です!
わかったことなのですが、
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]であればインストール不可と
考えていいものなのでしょうか?
解決できてよかったですね。
FAIL は文字通りインストールに失敗するし、
PASS はインストールできます。
CORE は Active Perl をインストールするときにデフォで入るのでわざわざインストール作業をしなくて良いです。
本当に有難うございました。このサイトを知って、perlのことがもっと詳しく分かりそうです。感謝 感謝!です