[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

require is not the same in irb as in ruby?

Gregory Marton

6/24/2008 2:22:00 PM

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

2 Answers

Gregory Marton

6/24/2008 2:27:00 PM

0

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

Tim Hunter

6/24/2008 6:17:00 PM

0

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.ruby...
RMagick 2: http://rmagick.ruby...rmagick2.html