Требовать гем ruby ​​(eventmachine) в среде общего сервера - PullRequest
1 голос
/ 20 ноября 2011

Я установил eventmachine rubygem с помощью 'gem install eventmachine' и подтвердил его установку, запустив список gem --local, и он появился. Я запустил setup.rb в каталоге событий машины.

следующий код

$:.push("/home2/sthoma5/ruby/gems")  // this was in the shared server docs

require 'rubygems'
require 'eventmachine'

module EchoServer  
   def receive_data(data)
     send_data(data)
   end
end

EventMachine::run do
   host = "0.0.0.0"
   port = 80
   EventMachine::start_server host, port, EchoServer
   puts "Started EchoServer on #{host}:#{port}"
end

Возвращает ошибку:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_requi 
re': no such file to load -- eventmachine (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'                                               
from echo.rb:4

Кажется, я должен требовать этого нестандартным способом, потому что я нахожусь на общем сервере и не имею доступа к определенным путям ruby? Однако через SSH я могу перейти к /usr/lib/ruby/site_ruby/1.8/rubygems.

Моя директория событий машины находится в каталоге home2 / sthoma5 / ruby ​​/ gems / gems / eventmachine-0.12.10.

1 Ответ

1 голос
/ 20 ноября 2011

Какую версию Ruby вы используете?

В Ruby 1.8.x сначала нужно require 'rubygems'.

...