Rubygems install problems (the old ubygems (LoadError) probl


#1

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:

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

  1. Specified where I want gems to actually go,
    export GEM_HOME=${HOME}/local/rubygemrepository
  2. ruby setup.rb config --prefix=${HOME}/local/rubygems
  3. ruby setup.rb setup
  4. ruby setup.rb install

    Successfully built RubyGem
    Name: sources
    Version: 0.0.1
    File: sources-0.0.1.gem
  5. 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.


#2

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.

  1. ruby setup.rb setup
  2. 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!


#3

Hi Eric,

Eric H. wrote:

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


#4

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!


#5

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


#6

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!


#7

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!