Paul Van Delst
12/29/2006 1:41:00 AM
Hi Eric,
Eric Hodel wrote:
> On Dec 28, 2006, at 16:30, Paul van Delst wrote:
>
>> I just did a complete re-install of ruby 1.8.5-p12 and rubygems-0.9.0
>> and I'm getting the old sawhorse error:
>>
>> ruby: no such file to load -- ubygems (LoadError)
>>
>> I've searched the newsgroup, but nothing seems to address the problem
>> I'm having (I think). Here's what I did:
>>
>> 0) rm -fr'd my "ruby" and "rubygems" installation directories in my
>> $HOME/local (I do not have root access to the computer in question).
>> Also unset RUBYOPT.
>>
>> ruby install
>> ------------
>> 1) Installed ruby 1.8.5-p12. No problems
>> 2) Modified my login script with:
>> export PATH=$PATH:${HOME}/local/ruby/bin
>> ruby and irb run fine.
>>
>> rubygems install
>> ----------------
>> 3) Specified where I want gems to actually go,
>> export GEM_HOME=${HOME}/local/rubygemrepository
>> 4) ruby setup.rb config --prefix=${HOME}/local/rubygems
>
> This tells ruby to put ubygems.rb under ~/local/rubygems.
>
>> 5) ruby setup.rb setup
>> 6) ruby setup.rb install
>> ....
>> Successfully built RubyGem
>> Name: sources
>> Version: 0.0.1
>> File: sources-0.0.1.gem
>
> This puts ubygems.rb under ~/local/rubygems.
>
>> 7) In login script added
>> export GEM_HOME=${HOME}/local/rubygemrepository
>> export PATH=$PATH:${HOME}/local/rubygems/bin
>> and
>> export RUBYOPT="rubygems"
>>
>>
>> Now I want to install a gem (Bil Kleb's funit) and I did:
>>
>> gem install funit
>>
>> and got the error:
>>
>> ruby: no such file to load -- ubygems (LoadError)
>>
>> And, of course, ruby and irb no longer work either (same error).
>
> ubygems.rb is not in your $LOAD_PATH for ruby.
>
>> O.k., so what did I do wrong? *After* I installed rubygems I set the
>> RUBYOPT envar. But, ruby can't seem to find anything rubygem related.
>>
>> Is there some other magical envar that I need to set so that ruby and
>> rubygems play nice?
>
> You probably want to add:
>
> export RUBYLIB=${HOME}/local/rubygems
Well, I eventually figured out that I need
export RUBYLIB=${HOME}/local/rubygems/lib/ruby/site_ruby/1.8
Just specifying ${HOME}/local/rubygems didn't work.
>> Or should I install rubygem "inside" my ruby install? In:
>> ${HOME}/local/ruby/lib/ruby/site_ruby/1.8/i686-linux ?
>> or
>> ${HOME}/local/ruby/lib/ruby/site_ruby
>> or
>> ??
>
> This is how rubygems is typically installed (by not supplying the
> --prefix option in step 4). But you do not have root access. You just
> needed to add rubygems to the $LOAD_PATH.
This is going to make your eyes roll, but how does one add a root subdirectory to
LOAD_PATH so that ruby searches recursively down? The only way I can figure out how to
modify LOAD_PATH is to list every specific directory via the RUBYLIB envar -- which is
rather onerous.
An online search didn't reveal anything clever.
cheers,
paulv
--
Paul van Delst Ride lots.
CIMSS @ NOAA/NCEP/EMC Eddy Merckx
Ph: (301)763-8000 x7748
Fax:(301)763-8545