2013-05-31 41 views
1

我正在运行JRuby-1.7.3到rvm。我已成功安装了em-websocket-server宝石。我可以通过运行$ gem list来验证它在我当前的gemset中。为什么我无法在JRuby上运行em-websocket-server?

我的代码是这样的:

require 'rubygems' 
require 'em-websocket-server' 

class EchoServer < EM::WebSocket::Server 

    def on_connect 
    EM::WebSocket::Log.debug "Connected" 
    end 

    def on_receive msg 
    send_message msg 
    end 

end 

EM.run do 
    EM.start_server "0.0.0.0", 8000, EchoServer 
end 

当我尝试运行它,我得到以下错误:

LoadError: no such file to load -- em-websocket-server require at org/jruby/RubyKernel.java:1027 require at /home/dev1/.rvm/rubies/jruby-1.7.3/lib/ruby/shared/rubygems/custom_require.rb:36

有什么建议?

回答

1

我有完全相同的错误,因为我直接使用gem命令而不是jruby gem命令。

为了解决这个问题只需要运行:

jruby -S gem install em-websocket 

这为我工作,希望这可以帮助你。

+0

感谢您的回复,尝试过但它没有奏效。我已经可以验证该gem是否已正确安装并位于正确的目录中。它只是没有被JRuby拾起。 – RedFred

0

这个问题实际上解决了自身后,我取出,RVM($ rvm implode),并重新安装它

$ rvm get head --autolibs=3 # get the latest RVM and build required libs 
$ rvm requirements # just in case, install all other required stuff 
$ rvm install jruby 

然后我安装我的默认宝石所有宝石。 em-websocket-server然后被拿起并且工作正常。我只能将它归因于一些扭曲的配置,或者甚至在我原始的rvm设置中的错误。

相关问题