Require_relative в Ruby не находит файлы, которые существуют - PullRequest
0 голосов
/ 15 января 2012

Я пытаюсь использовать require_relative в ruby ​​1.9.2 для загрузки файла .so в Mac OS X 10.6.8.Require_relative работает должным образом для файлов .rb, но утверждает, что файл .so, который я пытаюсь загрузить, не существует, хотя он явно существует.

В документации говорится, что мне не нужно указывать расширение (.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 > 
...