Edge Rails, Rails

[Edge Rails] Gemの管理を行う: Gem Dependencies

2008/04/11

今回の機能は、Rails アプリで使われている gem の扱いを簡単にするものです。
利用している gem を environment.rb に宣言することにより、下記のようなことが可能になります。

  • 各 gem のバージョンを個別に指定可能
  • 本番環境に当該 gem がなくても、コマンド一発でインストール
  • gem を vendor/配下に設置するのもコマンド一発
Rails::Initializer.run do |config|
 
 # haml の最新版を利用
 config.gem "haml"
 
 # chronic の特定バージョンを利用
 config.gem "chronic", :version => '0.2.3'
 
 # デフォルトのレポジトリ以外から、gem を持ってくる
 config.gem "hpricot", :source => "http://code.whytheluckystiff.net"
 
 # gem を別名で利用する。
 # たとえば require "aws-s3" の代わりに require "aws/s3" とする場合は、
 # :lib オプションで指定する。
 config.gem "aws-s3", :lib => "aws/s3"
end

上記のように記述すれば、Rails アプリが起動されたときに指定されたものを見るようになるそうです。
もし設置した環境にこのリストに書いてある gem がない場合は、下記のコマンドを打ちます。

# リストの gem のインストール状況の確認
rake gems
 
# リストの gem をインストール
rake gems:install
 
# native extensions で gem を build
rake gems:build

gem をサーバ環境でなく、vendor/gems 配下に設置する場合は、

# すべての gems を vendor/gems へ配置
rake gems:unpack
 
# hpricot のみ vendor/gems へ配置
rake gems:unpack GEM=hpricot

これで環境構築がすこし楽になるかもしれません。


related posts


tags




have your say

Add your comment below, or trackback from your own site. Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

:

:


« ヤン富田 山本義隆 山形浩生
» [Edge Rails] Migrationの新しい採番方法:UTC-based Migration Versioning