UPDATE:
Я нашел простой ответ, и это полностью моя вина: я сохранил приведенный выше код в файле с именем "eventmachine.rb". Таким образом, когда мне потребовался «eventmachine», он просто импортировал тот же файл, который не содержит определения для EventMachine.
Так что на самом деле это не пост о EventMachine.
ОРИГИНАЛЬНАЯ ПОЧТА:
Извините, но что происходит?
require 'rubygems'
require 'eventmachine'
EventMachine
1012 * дает *
uninitialized constant EventMachine
в TextMate и на консоли, когда я запускаю "ruby myfile.rb".
Но если я введу то же самое в IRB, я получу
=> EventMachine
.
...
Я был настолько расстроен, что следовал необдуманным инструкциям на http://blog.carlmercier.com/2007/12/14/how-to-fix-that-rubygems-mess-on-leopard/ - уничтожая мои среды Ruby и Rubygems и переустанавливая их из MacPorts. IRB все еще работает, и TextMate / командная строка по-прежнему не работает таким же образом. Я даже сократил мой путь TextMate PATH до одного места, где сейчас установлены Ruby, Gem и IRB: / opt / local / bin - что и есть что сообщает.
Наконец, когда я
puts Gem.path
на IRB, TextMate или консоли, я получаю тот же путь.