Forum: Ruby rubygems install problems (the old ubygems (LoadError) probl

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Paul van Delst (Guest)
on 2006-12-29 02:32
(Received via mailing list)
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 K.'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.
Eric H. (Guest)
on 2006-12-29 02:52
(Received via mailing list)
On Dec 28, 2006, at 16:30, Paul van Delst wrote:

> question). Also unset RUBYOPT.
> 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.

>
> 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 H. - removed_email_address@domain.invalid - http://blog.segment7.net

I LIT YOUR GEM ON FIRE!
Eric H. (Guest)
on 2006-12-29 02:56
(Received via mailing list)
On Dec 28, 2006, at 16:50, Eric H. 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 H. - removed_email_address@domain.invalid - http://blog.segment7.net

I LIT YOUR GEM ON FIRE!
Paul van Delst (Guest)
on 2006-12-29 03:46
(Received via mailing list)
Hi Eric,

Eric H. wrote:
>> 0) rm -fr'd my "ruby" and "rubygems" installation directories in my
>> rubygems install
>>      Successfully built RubyGem
>>      export RUBYOPT="rubygems"
>> And, of course, ruby and irb no longer work either (same error).
>
> 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 (Guest)
on 2006-12-29 04:06
(Received via mailing list)
Eric H. 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
Eric H. (Guest)
on 2006-12-29 06:58
(Received via mailing list)
On Dec 28, 2006, at 18:05, Paul van Delst wrote:

> 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 H. - removed_email_address@domain.invalid - http://blog.segment7.net

I LIT YOUR GEM ON FIRE!
Eric H. (Guest)
on 2006-12-29 06:59
(Received via mailing list)
On Dec 28, 2006, at 17:45, Paul van Delst wrote:
>> 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 H. - removed_email_address@domain.invalid - http://blog.segment7.net

I LIT YOUR GEM ON FIRE!
This topic is locked and can not be replied to.