Require is not the same in irb as in ruby?

$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'builder'
=> true
irb(main):003:0> ^D

All well and good. Now:

$ cat > foo.rb
#!/usr/bin/ruby
require 'rubygems'
require 'builder'
^D
$ chmod +x foo.rb
$ foo.rb
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require__': no such file to load -- builder (LoadError)
        from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
        from ./foo.rb:3

What's going on here? I only experience this with builder. Other
modules seem fine. Incidentally, there's a builder.rb at
/usr/local/lib/site_ruby/1.8/rubygems/builder.rb
right next to the custom_require.rb that fails to find it.

Thanks for any insights!
Grem

···

--
Posted via http://www.ruby-forum.com/.

Interesting...

I guessed that maybe the fact that I was using /usr/bin/ruby and there
was a separate /usr/local/bin/ruby might be a problem. They are the
same version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]

and in fact, one turns out to be a symlink to the other(!) but using
/usr/bin/ruby in the shebang fails, while using /usr/local/bin/ruby in
the shebang succeeds.

Any ideas?

Thanks,
Grem

···

--
Posted via http://www.ruby-forum.com/.

Gregory Marton wrote:

Interesting...

I guessed that maybe the fact that I was using /usr/bin/ruby and there was a separate /usr/local/bin/ruby might be a problem. They are the same version
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]

and in fact, one turns out to be a symlink to the other(!) but using /usr/bin/ruby in the shebang fails, while using /usr/local/bin/ruby in the shebang succeeds.

Any ideas?

Thanks,
Grem

Print the value of $: to determine the directories in which Ruby will look for libraries. Those directories are largely determined by the directory in which Ruby is installed at the time Ruby is installed. If Ruby is actually installed in /usr/local then it won't search for libraries in /usr.

Good luck!

···

--
RMagick: http://rmagick.rubyforge.org/
RMagick 2: http://rmagick.rubyforge.org/rmagick2.html