I'm trying to setup an automated build system for all of our upstream
binary dependencies (that we don't get from our OS). Since we track a
newer ruby than most of our machines ship with, this means building ruby
and installing gems. For the most part this works fine, except when I
need to install a gem like mongrel that has several versions.
For example, if I run 'gem install -y mongrel' from my Makefile, I get
an error like this (since stdin isn't attached):
Select which gem to install for your platform (x86_64-linux)
1. mongrel 1.1 (ruby)
2. mongrel 1.1 (mswin32)
3. mongrel 1.0.4 (mswin32)
4. mongrel 1.0.4 (ruby)
5. Skip this gem
6. Cancel installation
> ERROR: While executing gem ... (NoMethodError)
undefined method `strip' for nil:NilClass
Unfortunately, the list entries aren't even stable -- sometimes option
#1 is the mswin32 and sometimes it's the ruby choice. So I can't even do
something nasty like "echo 1 | gem install -y mongrel" and be assured of
getting the right thing.
Is there any way to tell gem, from the commandline, precisely which gem
I want? The documentation seems sparse, and I haven't had the time to go
digging through gem's source code yet. (My hope is that this is any easy
answer...)
--
Posted via http://www.ruby-forum.com/.