[Nitro] gen - facet rubygems version hell

James Britt james_b at neurogami.com
Tue Apr 4 11:14:59 EDT 2006

TRANS wrote:
> Nitro/Og depend on a specific verison of Facets for good reason, and
> it has everything to do with stability. On installation Nitro 0.29
> should install the correct version of Facets. If there are problems
> you can get the right version manually:
>   gem install facets -v 1.0.3

I already had that installed, but gen was not loading it.

> If you have the lastest version of Facets installed (1.2.1), I'm
> guessing the problem arises b/c Nitro isn't activating the 1.0.3 gem
> and instead just loads the version automatically selected by Gems
> --which is alwasy the latest. To fix, try:
>   require_gem 'facets', '= 1.0.3'
> before requiring any part of Nitro --I suppose in run.rb.

The problem this time was calling 'gen', not with running a Nitro app.

But if one needs to add that line to run.rb to ensure that it works, 
then perhaps it should be built in to the code generator.  It still 
strikes me as odd that later versions of a gem are presumed to break 
compatibility, though.  It's as if each version of facets is a unique 
one-off library that just happens to have the same name.  Why shouldn't 
1.2.1 work?

> I know it can be frustrating, but don't be to hard on Nitro or Facets
> on this. Taking into account RubyGems while also trying to maintain a
> proper manual distribution (Facets does, Nitro should) has driven me
> bonkers more than a few times. Try dealing with datadir for instance
> --a problem that's been talked about for two years without a solution.
> I finally came up with a work around and suggested it on gems mailing
> list --think I've heard a word about it yet? Not one. I ended up
> having to create a Gem Facet!

I've no doubt that there are headaches with RubyGems, but I've only seen 
these sorts of troubles with the Og/Nitro family of gems.  So I suspect 
that the library dependencies are more complicated than need be (but I 
see that people  are addressing this).

It's just extremely frustrating, and makes it very hard to encourage 
others to use Og/Nitro.

Anyway, I've sorted things out by uninstalling all the associated gems 
and reinstalling Nitro.

> I'll be honest with you I think Gems sucks. Which is why I created
> Rolls. 
> But Rolls still needs some tweaking, and unfortunately I'm not
> sure when I'll be able to get to it. But also, Rolls is only half the
> issue. It handles library management and versioning. But it still
> needs a distribution/install mechinsim to go with it. I started a
> project for that too, based on setup.rb, but now I'm finding cracks in
> setup.rb and Minero is not reponding to my emails either! Frak, maybe
> they just don't like me. I don't know. I don't care. The bottom line
> is that Ruby's ditribution and lib management is for shit --despite
> the glitzy hype.

Well, sucky or not, the reality is that gems has the Ruby community mind 
share and is almost certain to become a core part of the distribution. 
The options are to use it (and try to improve it), or stick to the hell 
of install.rb, or create Yet Another Installer/Packager/Versioning System.

And if Nitro hooks itself to something other than gems, then it will 
have an even tougher time gathering attention and use.

James Britt

"You harmonize; then you customize."
  - Wilson Pickett

More information about the Nitro-general mailing list