[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002770] Re: 電脳製 品のパッケージング



神代です.

At Wed, 14 Mar 2007 16:37:49 +0900,
Takeshi Horinouchi wrote:
> 
> > そこで, こいつはやめて, RubyGems のパッケージを作るのがいいんじゃない
> > かと最近考えています.
> > 
> > 今回, Ruby on Rails をインストールするときにこれを使った方も多いと思い
> > ますが, Rails 人気のおかげで, Rubyライブラリパッケージ管理システムのデ
> > ファクトスタンダードになりつつあります.
> > # 今後, Ruby本体に取り込む予定もあるようです([ruby-dev:30560])
> 
> 唯一気になるのが、require でライブラリーをロードできず、
> require_gem (最近では単に gem)を使わないとならないことです。
> 何でインストールしようが require で済んでほしいと思うのですが、
> gem 対応の require もあるのでしょうか。require を再定義
> すればいいだけなので、数行でかけるものではありますが...。
> さすがに本体に取り込まれた暁には require で済むように
> なるんでしょうね...?

RubyGemsのインストールガイド
http://docs.rubygems.org/read/chapter/3
を見ると,

export RUBYOPT=rubygems

と環境変数を設定しておくといいようです.

最初に require "rubygems" としておけば, RubyGemsで入れたライブラリが
普通に require できるようになります.
上の RUBYOPT の設定は, 毎回 ruby -rubygems hoge.rb とするのと同じこと
ですが, このオプションは実は -r ubygems と同じで, ubygems.rb が
require されています. ubygems.rb の中身は

require "rubygems"

です.
# へぇーという感じですね

> > これは, Rails みたいな感じをイメージしたらよいでしょうか?
> > つまり,
> > ・インストール時には, Gfdnavi はコマンド+ライブラリ(コピー元資源)のか
> >   たちになっていて, この時点では運用用の資源は展開されていない.
> 
> はい。
> 
> > ・自分が運用したい場所で gfdnavi_setup みたいなコマンドを実行すると,
> >   そこに資源がコピーされ, rails コマンドも実行される
> 
> DL&展開して出来るコマンドを実行すると運用場所を聞くというのが
> いいと思ってます。windows の setup コマンドの多くがそうである
> ように。セットアップコマンドを /usr 以下等にインストール
> させるようにはしなくていいのではないかと思ってます。
> ただの setup コマンドなので、個別linux ディストリビューション用
> のパッケージングはしないで済むようにしたい。

イメージわかりました.
とすると, RPM等のパッケージングでは, インストール場所は (/var 以下のよ
うな)常時運用を想定した場所になりますね.
ユーザディレクトリに展開して使いたい場合は, 自分で資源をダウンロードし
てsetup, という使い方になるでしょうか?

> ちなみに、常時運用用にインストールする場合、linux なら
> /var の下のどこかがいいのではないかと思いますが、お勧めは
> どういうパスでしょう?

/var/lib/gfdnavi とかでしょうか.