J
Justin Hahn
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
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...)
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
undefined method `strip' for nil:NilClassERROR: While executing gem ... (NoMethodError)
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...)