gems:unpack dosn't deploy hpricot

14 views
Skip to first unread message

Mikael Rudberg

unread,
Dec 30, 2008, 6:13:05 PM12/30/08
to rubyonra...@googlegroups.com
Hi

I'm trying to unpack hpricot to my vendor/gems direcotry.

i have config.gem "hpricot" in my environment.rb file

but when i run "rake gems:unpack" it dosn't do anything. Is there any
special mesures thats needs to be done.

I running Vista with rails 2.2.2 and have hpricot gem (0.6.164).

I've successfully unpacked several other gems with this method.

Any suggestions would be very welcome

Thanks

/Mikael
--
Posted via http://www.ruby-forum.com/.

Mikael Rudberg

unread,
Jan 1, 2009, 12:48:20 PM1/1/09
to rubyonra...@googlegroups.com
I found some suggestion online to do a manual unpack through the gem
command in the vendor/gem directory instead "gem unpack hpricot".

However when i start the server it errors out because it doesn't seem to
be able to handle the gem naming conventions on win32


c:/prog/rubyl/lib/ruby/site_ruby/1.8/rubygems/version.rb:53:in
`initialize': Malformed version number string mswin32 (ArgumentError)
from
c:/prog/rubyl/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/vendor_gem_source_index.rb:105:in
`new'
from
c:/prog/rubyl/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/vendor_gem_source_index.rb:105:in
`version_for_dir'
from
c:/prog/rubyl/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/vendor_gem_source_index.rb:47:in
`refresh!'
....

When i look at the code it seems to be parsing for the version number of
the gem "hpricot-0.6.164-x86-mswin32"

Is this an known issue ?

Mikael Rudberg

unread,
Jan 1, 2009, 4:03:29 PM1/1/09
to rubyonra...@googlegroups.com
I found a workaround sort of. I changed the regexp in the
vendor_gem_source_index.rb

from
def version_for_dir(d)
matches = /-([^-]+)$/.match(d)
matches.to_a.each { | x | puts "Match {#{x}}" }
Gem::Version.new(matches[1]) if matches
end

to
def version_for_dir(d)
matches = /-(\d+\.\d+\.\d+)/.match(d)
matches.to_a.each { | x | puts "Match {#{x}}" }
Gem::Version.new(matches[1]) if matches
end

Seems to load the gems fine now. However having very limited skill in
crafting regexp I don't know if this will work in all cases so if anyone
have a better one i'm all ears :)

morgler

unread,
Jan 8, 2009, 11:24:01 AM1/8/09
to Ruby on Rails: Talk
I have the exact same problem. It does not only appear with hpricot,
but with all gems containing "mswin32" in the version string. is there
an "official" fix for this?

Cheers,

Matthias

On 1 Jan., 22:03, Mikael Rudberg <rails-mailing-l...@andreas-s.net>
wrote:
Reply all
Reply to author
Forward
0 new messages