Look. This is a real practical criticism of RubyGem which is absolutely valid. But these kinds of things are getting better.
Rails 2x and Merb 1.x with their support of Gem dependencies are a lot easier to manage now than they were in the past.
It would be relatively easy nowadays to manage one server with lots of different applications with different Rails and Gem dependencies purely using gems now. You would not be able to do this if Rails was installed via aptget unless a special require_aptget library was written.
RubyGem is improving a lot with every release. Poolparty and other similar tools for remote management look like they would be able to deal with many of these kinds of issues in the future.
I believe EngineYard maintain their own local gem server for speeding this up.
I think that's exactly the problem, though.. Yes, I'm 100% that all of these problems can, and probably will, be fixed.
But even once they are, there will be two methods for doing everything, and that makes things more complex than they need to be.
It's one of the disadvantages of such a relatively unpredictable environment- Every tool has has to be able to work across a variety of platforms, which means that every tool has to assume the worst case. ;(
The Ruby devs can't assume packages are sane everywhere- Redhat packages, for instance, have been a world of hurt for years.. OS X and Windows don't even HAVE native packaging systems.
I entirely understand why it is the way that it is.. But I look forward to it getting better.
As another poster pointed out, in newer releases of Ubuntu, they DO package up the gems as individual .deb packages.
Essentially, the Ubuntu devs bypassed the gem manager, just as the gem manager itself bypassed Ubuntu.
Rails 2x and Merb 1.x with their support of Gem dependencies are a lot easier to manage now than they were in the past.
It would be relatively easy nowadays to manage one server with lots of different applications with different Rails and Gem dependencies purely using gems now. You would not be able to do this if Rails was installed via aptget unless a special require_aptget library was written.
RubyGem is improving a lot with every release. Poolparty and other similar tools for remote management look like they would be able to deal with many of these kinds of issues in the future.
I believe EngineYard maintain their own local gem server for speeding this up.