Ruby中的Require_relative找不到存在的文件

时间:2012-01-15 05:34:28

标签: ruby macos rvm require shared-libraries

我试图在ruby 1.9.2中使用require_relative在Mac OS X 10.6.8中加载.so文件。 Require_relative适用于.rb文件,但声称我尝试加载的.so文件不存在,即使它显然也是如此。

文档声明我在使用require relative时不需要提供扩展名(.rb或.so),但它没有任何区别。使用带有完整路径的require也不起作用。

Macbook-Pro:RubyCTest admin$ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
Macbook-Pro:RubyCTest admin$ pwd
/Users/admin/Documents/Ruby/RubyCTest
Macbook-Pro:RubyCTest admin$ ls
Makefile    extconf.rb  test.rb
create.rb   sotest.so   test.rb~
Macbook-Pro:RubyCTest admin$ cat test.rb
require_relative 'create'
require_relative 'sotest'
Macbook-Pro:RubyCTest admin$ ruby test.rb
test.rb:2:in `require_relative': no such file to load -- /Users/admin/Documents/Ruby/RubyCTest/sotest (LoadError)
from test.rb:2:in `<main>'
Macbook-Pro:RubyCTest admin$ irb
ruby-1.9.2-p290 :001 > require '/Users/admin/Documents/Ruby/RubyCTest/sotest.so'
LoadError: no such file to load -- /Users/admin/Documents/Ruby/RubyCTest/sotest.so
from /Users/admin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/admin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from (irb):1
from /Users/admin/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
ruby-1.9.2-p290 :002 > 

0 个答案:

没有答案