This seems like it should be obvious, but I haven't been able to find a way to do it.
My basic problem is this: I've got Ruby 1.8.7 installed on a Scientific Linux 6 system (from the base repository). I'm trying to install some gems via gem install
, but I'm running into a lot of gems that require ruby 1.9 or better.
I can specify individual gem versions via the -v
parameter, but gem install
appears to always pick the highest version available for any gem dependencies, so even if I restrict the version on the gem I want, my installation will still fail because one of the dependencies will require Ruby 1.9. The dependency trees for some of the gems I want are deep and wide; it would take a lot of time to manually figure out which version of each dependency I need and then install each required gem manually before I can work my way up to the one I want. (This is what dependency management is supposed to solve.)
So: is there a way to tell Ruby, "Install gem foo, using only gems that will work with the currently-installed version of Ruby"? (Or even, "Install version x.y.z of gem foo, using only gems that will work with the currently-installed version of Ruby"?)
As I mentioned, I happen to be running Ruby 1.8.7 on Scientific Linux 6, but I doubt any solution is going to be that platform-specific.