在共享服务器环境中需要ruby gem(eventmachine)

时间:2011-11-19 21:50:37

标签: ruby hosting gem shared-hosting require

我使用'gem install eventmachine'安装了eventmachine ruby​​gem并通过运行gem list --local确认它已安装并显示出来。我也在eventmachine目录中运行了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。

我的eventmachine目录位于home2 / sthoma5 / ruby​​ / gems / gems / eventmachine-0.12.10。

1 个答案:

答案 0 :(得分:1)

您正在运行哪个版本的Ruby?

在Ruby 1.8.x中,您需要先require 'rubygems'