From: Paul van Delst Date: 2006-12-29T10:45:10+09:00 Subject: Re: rubygems install problems (the old ubygems (LoadError) problem. Sigh). 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