The Ruby Standard Library To Be Converted to Gems for Ruby 2.0?
rubyinside.com
rubyinside.com
Implication: Ruby will be almost fully dependent on Rubygems; there will be even fewer cases where it's reasonable to run a ruby interp without pulling in Rubygems.
This is probably a win. For instance, it may mitigate the annoying situation where you install Ruby from source but forget to pass the right OpenSSL arguments to "configure" and only find that out a week later, when it's a huge pain to fix the installation.
There is a similar push in the .NET community to extract certain parts of .NET into NuGet. As it works now, you have to wait for an update for all of .NET (or worse, Visual Studio), which may take years. So called "out of band" releases always seems to have poor support because so many .NET frameworks rely on an upgrade of VS to really use! (E.g., ASP.NET MVC 3) For something fast-moving like the web, this is an eternity.
Though I know that the distro maintainers are just going to love this.
[1]: http://lucumr.pocoo.org/2009/3/2/std-stands-for-sleazy-tatte...
RVM, meanwhile, has the concept of gemsets, which are completely independent sets of gems which can also be used per-project, which solves the problem of two programs needing different gem versions.
[0] http://gembundler.com/ [1] http://beginrescueend.com/gemsets/basics/
It's just the case that for Ruby the library ecosystem is being developed at a fast enough pace that few want to settle for gem versions that are 6-18 months old.
If the debian ecosystem was actually functioning as designed, someone would create a trusted apt repo with well tested updates that would perhaps be 3 months behind bleeding edge. This would likely be adequate for most ruby projects. It's my impression that the python community is better supported in the debian world.
Suggestion: the gem utility should be able to generate deb and rpm packages with proper version numbers, and the utility should also have a setting to "pull from distro repository" to allow things like bundler to be compatible with apt... this would allow/entail letting multiple gem versions live side by side, which would likely seem like a distro-smell to many sysadmins (though it isn't one).
No matter what they thought was reasonable, they should have just left gems alone.
Is it reasonable to expect the apt version of ruby + rubygems to play nicely with an arbitrary compiled version that is installed in PATH? It would be nice, but few packages work this way.
Put more simply: if they can't package a rubygems that actually works with the rubygems ecosystem, they should not package rubygems at all.
After their changes, the tool does not function as it was originally intended. Certain sections of the official rubygems documentation give instructions that do not work with the Debian version of rubygems. How is that not broken? In what way did they not break it?
I understand and admire Debian's commitment to cleanly built, working software. Within that context I also understand that rubygems is a big, scary unknown. That said, if the only way to solve the problem is to hack up rubygems until it no longer works as intended, the only real answer is to not ship rubygems within Debian. It just flat out has to be left in "here be dragons" land. As things are right now people just get pissed off that Ruby isn't working correctly under Debian, then they have to go play with dragons anyways.
About the first thing I do on any new Debian box is to make sure I run a non-Debian rubygems as the Debian one is hopelessly broken, and install any gems I need via bundler.
That takes care of that problem.