To my ears, you're describing "DLL hell", but saying that it isn't really DLL hell, because you can work around it, and because the problems are just as bad in some other languages.
Personally, I think Rails is pretty hard to deploy. There are just too many global inter-dependencies that need to be managed.
The first thing every team I've worked on has ever done with Ruby (and Python and Tcl before that) is roll a project-specific Ruby build, so that nobody is working off the polluted system Ruby. It was even worse with Python, which for a couple years was a whole major version back from mainstream Python.
I'm not saying there isn't a real problem here; if you're hosting apps for 3 different teams, you do have to do a little dance to deploy seamlessly for all 3 of them with all their deps.
But most teams are never going to run into this problem, and I don't know of a really elegant solution for it.