[Rubygems-developers] Questions on 1.0.0 on JRuby

Charles Oliver Nutter charles.nutter at sun.com
Mon Apr 7 13:52:48 EDT 2008


Susan Potter wrote:
>>  I disgree that 'jgem' should be the default, since many people that run
>>  JRuby run only JRuby, tutorials state 'gem' as the command, and people
>>  are used to typing 'gem'. If people are using both JRuby and Ruby and
>>  want to avoid naming conflicts, they can add an alias easily enough or
>>  juggle PATH entries. But JRuby is "just another Ruby impl" and shouldn't
>>  have a different command name for installing gems.
>>
>>  Can we please have the 'gem' name as default when installing on JRuby?
> What about those of us that need to use both Ruby and JRuby?  Yes, I
> know PATH is the answer, but very cumbersome.

PATH is one answer.
aliasing 'jgem' to 'jruby -S gem' is another.
linking 'gem' to jruby/bin/gem' is another.
running 'jruby -S gem' is another.

I don't think there's really that much difficulty running gem with JRuby 
when Ruby is in path, especially with the -S option.

And we ship with jirb, but that's mostly out of tradition now and 
because it's not something installed externally like rubygems or gems 
themselves.

> The problem with your argument above is that JRuby's main binary is
> actually called jruby, so I would argue that it is far more consistent
> to say jgem.

The amount of confusion that would arise from JRuby including a "ruby" 
script would be pretty bad, especially since we're talking about two 
completely different codebases. That doesn't apply to RubyGems, since 
it's identical in both Ruby and JRuby. It should use the same executable 
name, 'gem', in both cases, since it's the same code.

Or if you think it should be 'jgem', then perhaps 'jrails', 'jrake', 
'jspec', 'jmerb' and so on are also consistent? Seems a little absurd to me.

- Charlie


More information about the Rubygems-developers mailing list