4 ms·
Yes, it is not easy to avoid the Ruby version of DLL hell.
by Harkins 18y ago
Yes, it is not easy to avoid the Ruby version of DLL hell.
- tptacek 18y agoI think it's a silly comparison you're trying to make. "DLL Hell" is "Hell" because there's a system-level depot for binaries that is hard to override. If you really need multiple global gem depots, just run multiple builds of the same Ruby. 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.
- timr 18y agoTo 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.
- tptacek 18y agoWell when you summarize my argument that way, it doesn't sound nearly as incisive as it did to me originally.