Почему я не могу заставить мои рубиновые запросы работать должным образом?
Возможный дубликат:
Почему Ruby 1.9.2 удаляет "." Из LOAD_PATH, и какова альтернатива?
Команда Require не работает в bash irb на Snow Leopard
Рубинrequire
вызов не выполняется по пользовательскому коду
Я бегу:
- OS X 10.6.8
- RVM 1.12.3 с Ruby 1.9.3
Допустим, у меня есть следующие файлы в каталоге:
a.rb
require 'b'
puts message_from_b
b.rb
def message_from_b
"foo"
end
Я получаю следующее LoadError при запуске a.rb:
/Users/Alex/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require ': не удается загрузить такой файл - b (LoadError)
Однако, если я заменю строку 1 файла a.rb на require './b'
работает нормально.
При взгляде на код Ruby других людей кажется, что им не нужно указывать текущий каталог, чтобы он требовал файл в том же каталоге.
Итак, почему я должен это делать? Это как-то связано с моей установкой RVM?
1 ответ
Файл b.rb
не в вашем пути загрузки. Либо добавить b.rb
каталог к вашему пути загрузки
$LOAD_PATH.unshift(File.dirname(__FILE__)) # assuming it's the current directory
или использовать
require_relative 'b'