2010-07-20
■ [ruby] geminaboxで「俺専用gem配布サーバ」を立てる
gem配布サーバといえばrubygems.orgなわけだけど、クローズドな環境でプライベートなRubyライブラリをgemで管理したいとかいうとき には、自前でgemサーバを立てると便利かも知れない。
インストール
$ gem install geminabox
サーバの起動
以下のようなconfig.ruを書いて「rackup config.ru -p 9292」とかするとgemサーバが起動する。
require "rubygems" require "geminabox" Geminabox.data = "/var/geminabox-data" # …or wherever run Geminabox
gemの追加
geminaboxはWeb UIを持ってるので、ブラウザでlocalhost:9292とかを開くと管理画面が表示される。ここからgemファイルをアップロードすることができる。
または、
$ gem inabox foo-0.1.2.gem
としてもいい (初回は「Host:」と聞かれるので、「http://localhost:9292/」などと入力する)。
gemのインストール
$ gem sources -a http://localhost:9292/
のようにして、自前のgemサーバを追加する(この情報は~/.gemrcに保存されている)。
感想
Sinatraはえらい。
個人的には、RubyStationのテストをオフラインでできるようにするのに使う予定。