config/environment.rbの中で、config.gemによってversion指定したgemを、 rake gems:unpackしようとすると、以下のようなエラーが出るようです。

   1  % rake gems:unpack GEM=genki-pagination_scope 
   2  (in /Users/takiuchi/project/formula)
   3  ERROR:  While executing gem ... (ArgumentError)
   4      Illformed requirement ["\">= 0.0.4\""]

RailsのLightHouseでも報告されていました。

rake gems:unpack version handling broken

ということで、この問題を回避するために、上記Ticketに添付されていた Patchを参考に、以下のようなMonkeyPatchを作ってみました。

config/initializers/fix_gem_unpack_for_2_1_1.rb

   1  module Rails
   2    class GemDependency
   3      def unpack_to(directory)
   4        FileUtils.mkdir_p directory
   5        Dir.chdir directory do
   6          Gem::GemRunner.new.run(
   7            unpack_command.map {|i| i.gsub(/\A["']|["']\z/, '')})
   8        end
   9  
  10        spec_filename = File.join(gem_dir(directory), '.specification')
  11        File.open(spec_filename, 'w') do |file|
  12          file.puts specification.to_yaml
  13        end
  14      end
  15    end
  16  end

これをconfig/initializers/の下に置いておけば、とりあえず正常にunpackする事ができます。

posted by Png genki on Wed 24 Sep 2008 at 02:10
Contents
Rails-2.1でversion指定したGemをunpackできない問題
Comments
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
tkawa: http://devcenter.heroku.com/articles/rails31_he... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ