Установленный Ruby 1.9.3 сломал мою программу - PullRequest
2 голосов
/ 07 марта 2012

Ой

/Users/myname/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- classes/loginclass (LoadError)
    from /Users/myname/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from programtest.rb:1:in `<main>'

Что я наделал? Это работало нормально на 1.8.7 несколько минут назад; все еще отлично работает в TextMate, который работает на 1.8.7. Нужно ли как-то менять папки?

РЕДАКТИРОВАТЬ :

ОК - смог заставить его работать с этим редактированием:

 require File.dirname(__FILE__) + '/classes/loginclass.rb'

Все еще не понимаю, почему я должен был изменить это. Я думаю, что мой путь загрузки изменился как-то?

Ответы [ 2 ]

4 голосов
/ 07 марта 2012

Не пишите .rb в конце необходимого файла, также используйте File.join вместо слешей:

require File.join(File.dirname(__FILE__), 'classes', 'loginclass')
3 голосов
/ 30 мая 2013

В ruby ​​1.9.2+ лучше использовать require_relative для этого (очень распространенного) варианта использования. И да, эта проблема меня тоже укусила!

...