2014-10-06 3 views
0

Я знаю, что это было сделано до смерти, и похоже, что существует дюжина вопросов об этой проблеме на SO, но я просто не нахожу рабочий ответ.ruby ​​не может загружать такие файлы

Я использую RVM для управления своими рубинами, но я не использую какие-либо пользовательские гемзеты. Я сделал gem install passivedns-client, и он был установлен без каких-либо ошибок. Однако я не могу загрузить драгоценный камень в любые скрипты или даже в irb. Вот вывод некоторых команд, которые могут дать контекст.

Machine_name:~ user_name$ gem list passive 

*** LOCAL GEMS *** 

passivedns-client (1.4.1) 

Machine_name:~ user_name$ rvm gemdir 
/Users/user_name/.rvm/gems/ruby-2.1.3 

Machine_name:~ user_name$ which irb 
/Users/user_name/.rvm/rubies/ruby-2.1.3/bin/irb 

Machine_name:~ user_name$ which gem 
/Users/user_name/.rvm/rubies/ruby-2.1.3/bin/gem 

Machine_name:~ user_name$ irb 
2.1.3 :001 > $LOAD_PATH 
=> ["/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/site_ruby/2.1.0", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/site_ruby/2.1.0/x86_64-darwin13.0", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/site_ruby", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/vendor_ruby/2.1.0", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/vendor_ruby/2.1.0/x86_64-darwin13.0", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/vendor_ruby", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0", "/Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/x86_64-darwin13.0"] 

2.1.3 :002 > require 'passivedns-client' 
LoadError: cannot load such file -- passivedns-client 
    from /Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /Users/user_name/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from (irb):2 
    from /Users/user_name/.rvm/rubies/ruby-2.1.3/bin/irb:11:in `<main>' 
2.1.3 :003 > 

Machine_name:~ user_name$ rvm current 
ruby-2.1.3 

ответ

0

Я думаю, что что-то просто неправильно с пространством имен этого конкретного драгоценного камня, а не ваш $LOAD_PATH. Я поставил диагноз, используя bundle open, но после нескольких попыток я смог получить его по:

[1] pry(main)> require 'passivedns' 
LoadError: cannot load such file -- passivedns 
from /Users/anthonyross/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
[2] pry(main)> require 'passivedns/client/version' 
=> true 
[3] pry(main)> c = PassiveDNS::Client.new 
=> #<PassiveDNS::Client:0x007f8e0e83b820> 
[4] pry(main)> 
+0

Хорошо знать, что я не просто слюни идиота. Это сработало и для меня. –

+0

Запустите запрос на перенос, чтобы исправить это пространство имен, это не очень хорошая практика! – Anthony

Смежные вопросы