我正在通过rvm运行JRuby-1.7.3。我已经成功安装了 em-websocket-server gem。我可以通过运行 $ gem list 来验证它在我当前的gemset中。
我的代码是:
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:没有要加载的文件 - em-websocket-server需要at org / jruby / RubyKernel.java:1027需要at /home/dev1/.rvm/rubies/jruby-1.7.3/lib/ruby/shared/rubygems/custom_require.rb:36
有什么建议吗?
答案 0 :(得分:1)
我有完全相同的错误,因为我直接使用gem命令而不是jruby gem命令。
要解决这个问题,请运行:
jruby -S gem install em-websocket
这对我有用,希望这对你也有帮助。
答案 1 :(得分: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
然后我将所有宝石都安装在默认的gemset中。然后选择 em-websocket-server 并且工作正常。我只能将其归因于一些扭曲的配置,甚至是我原来的rvm设置中的错误。