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

Search Words:

  • gem22 rails15 unpack11 config.gem8 rake7 executing7 while7 指定6 version5 gems:unpack5 argumenterror4 (argumenterror)4 requirement3 error:3 gems3 ...3 illformed3 tool2 2.12 error2 バージョン1 (argumenterror1 in1 fix_gem_unpack_for_2_1_11 unpacked1 monkeypatch1 unpacking1 ver1 ヴァージョン指定1 freeze1 program1 environment1 config.gem:1 ruby1 :version1 バージョン指定1 gem...(argumenterror)1 update1 `~/.autotest'1 expanding1 unpackできない1

Comments:

or Preview
Tags
rails 21 patch gem
Social Bookmarks
  • Delicious
  • B_entry901
  • Clip_16_12_w901