鲁伯不开始

时间:2012-09-21 07:18:47

标签: ruby api

当我在控制台上运行ruber时,我得到了这个信息:

`require': cannot load such file -- korundum4 (LoadError)

我已经安装了korundum4和任何其他ruby绑定。我用rvm。

我使用:Kubuntu 12.04

当我require "korundum4"时,在IRB上是同样的错误。 我的$LOAD_PATH系统:

["/usr/local/lib/site_ruby/1.9.1", "/usr/local/lib/site_ruby/1.9.1/x86_64-linux", "/usr/local/lib/site_ruby", "/usr/lib/ruby/vendor_ruby/1.9.1", "/usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux", "/usr/lib/ruby/vendor_ruby", "/usr/lib/ruby/1.9.1", "/usr/lib/ruby/1.9.1/x86_64-linux"]

2 个答案:

答案 0 :(得分:0)

如您所见,Ruby加载了安装在RVM中的gem。如果要使用系统范围的库运行应用程序,则需要使用以下命令将RVM切换到系统Ruby:

$ rvm use system

或阅读此https://rvm.io/integration/qtruby/如何将QtRuby整合到RVM中(我没有对此进行测试)。

答案 1 :(得分:0)

我找到了更好的解决方案:

gem install qtbindings

适用于Qt4和rvm。

我的新解决方案:

dependencies.sh

#!/bin/bash

if [[ $USER -eq 'root' ]]; then
  exit 1
fi

sudo apt-get install libqt4-core libqt4-dev automoc ruby2.0-dev

wget http://rubyforge.org/frs/download.php/71843/qt4-qtruby-2.1.0.tar.gz
tar -xvzf qt4-qtruby-2.1.0.tar.gz
cd qt4-qtruby-2.1.0

rvm install 2.0.0
rvm use 2.0.0
rvm gemset gui
rvm use 2.0.0@gui

sed 's/Config::/RbConfig::/' cmake/modules/FindRuby.cmake > cmake/modules/FindRuby.cmake1
sed 's/ruby19/ruby19 ruby2 ruby20 ruby200 ruby2.0/' cmake/modules/FindRuby.cmake1 > cmake/modules/FindRuby.cmake2
mv cmake/modules/FindRuby.cmake2 cmake/modules/FindRuby.cmake

sed 's/Config::/RbConfig::/' cmake/modules/FindRUBY.cmake > cmake/modules/FindRUBY.cmake1
sed 's/ruby19/ruby19 ruby2 ruby20 ruby200 ruby2.0/' cmake/modules/FindRUBY.cmake1 > cmake/modules/FindRUBY.cmake2
mv cmake/modules/FindRUBY.cmake2 cmake/modules/FindRUBY.cmake

mkdir build
cd build

cmake ..
make
sudo make install

sudo ldconfig /usr/local/lib
sudo chown -R $USER:$USER $MY_RUBY_HOME

cd ../..

之后你可以这样做:

app.rb

require 'rubygems'
require 'eventmachine'
require 'Qt4'

app = Qt::Application.new(ARGV)
hello_button = Qt::PushButton.new("Hello EventMachine")
hello_button.resize(100,20)
hello_button.show

EventMachine.run do
  EM.add_periodic_timer(0.01) do
    app.process_events
  end
end

的Gemfile

source 'http://rubygems.org'

gem 'eventmachine'

这样你就可以使用带有烟雾和Qt4的ruby 2.0.0。