Tom Cloyd
12/16/2008 10:32:00 PM
Eric,
Thank you very much for your detailed and thoughtful response. This is
more than I ever hoped for, and is certainly quite helpful. Thank you
for taking the time to address my problems. We all benefit so very much
from you work.
Tom
Eric Hodel wrote:
> On Dec 15, 2008, at 09:01 AM, Tom Cloyd wrote:
>> Tom Cloyd wrote:
>>> Yesterday I compiled ruby 1.8.7, and have verified that it's now
>>> resident on my Kubuntu Linux 8.10 OS. All's well, except that I'm in
>>> a bit of a muddle with rubygems. It appears that something or other
>>> (Philip Gawlowski suggested it might be Amorok) has installed Ruby
>>> 1.9 on my OS, and with it rubygems 1.2.0. But I want ruby 1.8.7 and
>>> rubygems 1.3.1.
>>>
>>> Right now, looking at /usr/local/lib/site_ruby, I see BOTH 1.8 and
>>> 1.9.0. Makes sense, I guess.
>>>
>>> Yesterday I installed rubygems 1.3.1, and things went awry. Ignoring
>>> that for now, I just redid the installation, and things went better,
>>> indicating that somehow yesterday we had a moment or two of pilot
>>> error. Sigh.
>>>
>>> Here's the first part of the console output for today install of
>>> rubygems v. 1.3.1 -
>>>
>>> tomc@tomc-desktop:~/Software archive/Rubygems/rubygems-1.3.1$ sudo
>>> ruby setup.rb
>>> [sudo] password for
>>> tomc: mkdir -p
>>> /usr/local/lib/site_ruby/1.8
>>> mkdir -p
>>> /usr/bin
>>> mkdir -p /usr/local/lib/site_ruby/1.8/rbconfig
>
> More important were the last few lines, they'd look something like
> (I'm on OS X):
>
>> RubyGems installed the following executables:
>> /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem
>>
>> If `gem` was installed by a previous RubyGems installation, you may need
>> to remove it by hand.
>
> Which tells you were RubyGems put the `gem` command.
>
>>> What I have now is this:
>>>
>>> tomc@tomc-desktop:~$ which gem
>>> /usr/bin/gem
>>> tomc@tomc-desktop:~$ gem -v
>>> 1.2.0
>
> gem env is more illuminating:
>
> $ gem env
> RubyGems Environment:
> - RUBYGEMS VERSION: 1.3.1.1939
> - RUBY VERSION: 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
> [...]
>
>>> tomc@tomc-desktop:~$ which gem1.8
>>> /usr/bin/gem1.8
>>> tomc@tomc-desktop:~$ gem1.8 -v
>>> 1.3.1
>>>
>>> When I tried, yesterday, to install the RedCloth gem using "gem
>>> install...", the install failed. Something about write permissions.
>>> Today, I find that I can install RedCloth just fine, and and just
>>> did, using "gem1.8".
>>>
>>> So....my question: It would appear that ruby 1.9, when it got
>>> installed, by whatever program needed it, also installed rubygems,
>>> but not in a way that I can get to, and in any case it isn't the
>>> latest version, and finally, it won't let me use it anyway.
>
> Likely /usr/bin/gem is a symlink to /usr/bin/gem1.9, likewise for ruby
> -> ruby1.9. To make things easier for yourself fix the symlinks to
> point to your most-commonly used ruby.
>
>>> I now have ruby 1.8.7, and rubygems 1.3.1 installed, but I have NO
>>> confidence that ruby 1.8.7 will access rubygems 1.3.1 should
>>> something it's executing need it. I sure hope I'm making sense here.
>
> I have 100% confidence ruby 1.8.7 will access rubygems 1.3.1. Try:
>
> /path/to/ruby1.8.7 -vrubygems -e 'p Gem::RubyGemsVersion'
>
> Mine says:
>
> $ /usr/bin/ruby -vrubygems -e 'p Gem::RubyGemsVersion'
> ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
> "1.3.1.1939"
>
>>> Can someone tell me how to tell ruby 1.8.7 to go to the right
>>> rubygems when it needs to? I'm sure this involves some environment
>>> variable, and I'll keep looking for this, but someone who know could
>>> sure help me by simply pointing to it.
>
> It always will. Different major versions of Ruby have different
> repositories entirely. For 1.9+, minor versions have different
> repositories.
>
>> Meanwhile...it occurred to me that perhaps there IS a rubygems that
>> my ruby 1.8.7 can find, and I just verified that in irb:
>>
>> irb(main):004:0> require 'rubygems'
>> => true
>> irb(main):005:0> require 'RedCloth'
>> => true
>> irb(main):006:0>
>>
>> I still don't know which version of rubygems is being accessed,
>> though - of the two that my system has - 1.2 and 1.3.1. Maybe I can
>> puzzle this out somehow. Any help would be appreciated...
>
> There is only one version of RubyGems allowed per Ruby. Compare
> gem1.8 env to gem1.9 env, namely GEM PATHS output.
>
>
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< tc@tomcloyd.com >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~