Installing from Edge

0 views
Skip to first unread message

Ryan Bigg (Radar)

unread,
Jun 29, 2009, 9:16:20 PM6/29/09
to me...@googlegroups.com
Not sure if you guys have ever tried it, but I'm trying to set up a new Ruby 1.9 installation and it's *extremely painful* (imagine dry humping a chainsaw)

I'm doing sudo gem1.9 install merb --source http://edge.merbivore.com and it tells me it depends on merb-core... so I do:

sudo gem1.9 install merb-core because it's not on http://edge.merbivore.com

This is a *huge* oversight. The gems that your gem depend on SHOULD BE ON THE SAME SOURCE.

I'm up to (I kid not) my 14th attempt at installing this gem. Patience is wearing thing.

Could we please have the gems merb depends on on http://edge.merbivore.com
Pretty please?

With love, 
Ryan "Radar" Bigg

MilesTogoe

unread,
Jun 29, 2009, 10:57:07 PM6/29/09
to me...@googlegroups.com

Not sure if this will help. Ruby 1.9 has gems built into it and will
place the gems in the right folder. Not sure what OS you are using
(ubuntu?) but you should download the 1.9 source and compile. Then you
can simply use " sudo gem install ...." no need for the gem1.9 stuff.
I've done this with both Ubuntu and Fedora and gems download just
fine (haven't download merb source though)

Ryan Bigg (Radar)

unread,
Jun 29, 2009, 11:40:25 PM6/29/09
to me...@googlegroups.com
Yes, I'm using the inbuilt rubygems, which is why I'm using "gem1.9". I'm on Mac OS X and I compiled it from source.

Another solution could be to just install the "latest" version of merb from rubyforge which will (so I'm told) install all the dependencies and then install merb from edge.

Just to clarify: it wasn't that it was putting them into the wrong folder at all, you've completely mis-interpreted what I said. I'm saying that because of how Rubygems operates, it will only look for gems on a single source (either the one you specify, or the one where it finds the gems). So when I do sudo gem1.9 install merb --source http://edge.merbivore.org it's ONLY going to look on http://edge.merbivore.org for all the gem dependencies and upon not finding them on that site

*WILL NOT LOOK FOR THEM ELSEWHERE*.

This is the source of my frustration. You put a gem by itself on a server and expect people to already have the dependencies installed. This will not always be the case, so I think it's "right" to put all the *other* gems the gem depends on the same server.

Just for the record: I had to try this 15 times before it actually installed, installing a new dependency each time. That brings up another awesome point: Rubygems should not stop at the first missing dependency, but list all the missing ones so you can get them all in one foul swoop, rather that one slow hobble.

2009/6/30 MilesTogoe <miles...@gmail.com>



--
Ryan Bigg

Ezra Zygmuntowicz

unread,
Jun 29, 2009, 11:50:28 PM6/29/09
to me...@googlegroups.com

On Jun 29, 2009, at 8:40 PM, Ryan Bigg (Radar) wrote:

> *WILL NOT LOOK FOR THEM ELSEWHERE*.


The trick with rubygems to get around this is to specify two sources
on the command line:

sudo gem install gemname --source http://edge.merbivore.org --source http://gems.rubyforge.org

Specifying both will allow it to fall back on rubyforge for gems that
are not on merbivore.

Cheers-

Ezra Zygmuntowicz
e...@engineyard.com

Ryan Bigg (Radar)

unread,
Jun 29, 2009, 11:52:18 PM6/29/09
to me...@googlegroups.com
I wasn't aware you could do that, I thought the options were stored like a hash. Good to know, but I still think it should be the default behaviour: can't find a gem? Look everywhere else for it. Found it twice? More? Display a numbered list with the gem names and version numbers and sources. 

2009/6/30 Ezra Zygmuntowicz <ezmo...@gmail.com>



--
Ryan Bigg
Reply all
Reply to author
Forward
0 new messages