[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

rubygems install problems (the old ubygems (LoadError) problem. Sigh).

Paul Van Delst

12/29/2006 12:26:00 AM

Hello,

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
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
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).

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?

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
??

I followed the notes I made last time I did this[*] and it worked then, so I've screwed
something up somewhere; I just don't know what.

Any help/info appreciated.

cheers,

paulv


[*] Said notes being a little sketchy, hence my starting from scratch effort.

--
Paul van Delst Ride lots.
CIMSS @ NOAA/NCEP/EMC Eddy Merckx
6 Answers

Eric Hodel

12/29/2006 12:50:00 AM

0

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

> 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.

> I followed the notes I made last time I did this[*] and it worked
> then, so I've screwed something up somewhere; I just don't know what.

--
Eric Hodel - drbrain@segment7.net - http://blog.se...

I LIT YOUR GEM ON FIRE!


Eric Hodel

12/29/2006 12:56:00 AM

0

On Dec 28, 2006, at 16:50, Eric Hodel wrote:
> On Dec 28, 2006, at 16:30, Paul van Delst wrote:
>> 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

Actually, from testing, it'll be more like ${HOME}/local/rubygems/lib/
ruby/site_ruby/1.8 or some-such.

--
Eric Hodel - drbrain@segment7.net - http://blog.se...

I LIT YOUR GEM ON FIRE!


Paul Van Delst

12/29/2006 1:41:00 AM

0

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

Paul Van Delst

12/29/2006 2:03:00 AM

0

Eric Hodel wrote:
>> 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.

Hello again,

O.k., I removed my old rubygems install and did it again but without the --prefix-dir and
everything is now honky dory.

From the rubygems user manual installation help, I assumed that a "default" install would
always go to /usr/lib/ruby/etc.... But it doesn't - it gets installed wherever ruby was
installed (at least, that's what happened on my box).

Thanks for your patience.

cheers,

paulv

--
Paul van Delst Ride lots.
CIMSS @ NOAA/NCEP/EMC Eddy Merckx

Eric Hodel

12/29/2006 4:54:00 AM

0


On Dec 28, 2006, at 18:05, Paul van Delst wrote:

> Eric Hodel wrote:
>>> 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.
>
> Hello again,
>
> O.k., I removed my old rubygems install and did it again but
> without the --prefix-dir and everything is now honky dory.
>
> From the rubygems user manual installation help, I assumed that a
> "default" install would always go to /usr/lib/ruby/etc.... But it
> doesn't - it gets installed wherever ruby was installed (at least,
> that's what happened on my box).

Yes, this is correct.

I thought you were installing rubygems using the default (/usr/lib/
ruby) installation, not your own.

--
Eric Hodel - drbrain@segment7.net - http://blog.se...

I LIT YOUR GEM ON FIRE!


Eric Hodel

12/29/2006 4:57:00 AM

0

On Dec 28, 2006, at 17:45, Paul van Delst wrote:
> Eric Hodel wrote:
>> On Dec 28, 2006, at 16:30, Paul van Delst wrote:
>>> 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.

You can't, and you don't really want this.

If you have lib/net/http.rb and recursively add everything you'll end
up with the ability to require 'http' which may cause bad things to
happen like double loading.

--
Eric Hodel - drbrain@segment7.net - http://blog.se...

I LIT YOUR GEM ON FIRE!