【问题标题】:Require a ruby gem (eventmachine) in a shared server environment在共享服务器环境中需要一个 ruby​​ gem (eventmachine)
【发布时间】:2012-01-02 02:45:21
【问题描述】:

我使用“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 下。

【问题讨论】:

    标签: ruby hosting gem shared-hosting require


    【解决方案1】:

    您运行的是哪个版本的 Ruby?

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

    【讨论】:

    • 哦,是的。实际上我最初也尝试过,但它仍然出错。往上看。 Ruby 版本是 1.8.7 顺便说一句。
    猜你喜欢
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2012-05-07
    • 1970-01-01
    相关资源
    最近更新 更多