当我在控制台上运行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"]
答案 0 :(得分:0)
如您所见,Ruby加载了安装在RVM中的gem。如果要使用系统范围的库运行应用程序,则需要使用以下命令将RVM切换到系统Ruby:
$ rvm use system
或阅读此https://rvm.io/integration/qtruby/如何将QtRuby整合到RVM中(我没有对此进行测试)。
答案 1 :(得分:0)
我找到了更好的解决方案:
gem install qtbindings
适用于Qt4和rvm。
#!/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 ../..
之后你可以这样做:
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
source 'http://rubygems.org'
gem 'eventmachine'
这样你就可以使用带有烟雾和Qt4的ruby 2.0.0。