我正在尝试为KDE编写Ruby等离子体。我只需要使用一个rubygem。每当我写require 'dbus'
时,它就会抛出一个错误:
code/main.rb:6:in 'require': no such file to load -- dbus (LoadError)
code/main.rb:6:in '<module:TestApp>'
code/main.rb:5:in '<top (required)>'
/usr/share/apps/plasma_scriptengine_ruby/applet.rb:177:in 'load'
/usr/share/apps/plasma_scriptengine_ruby/applet.rb:177:in 'init'
/usr/share/apps/plasma_scriptengine_ruby/applet.rb:201:in 'constraintsEvent': undefined method 'constraintsEvent' for nil:NilClass (NoMethodError)
/usr/share/apps/plasma_scriptengine_ruby/applet.rb:201:in 'constraintsEvent': undefined method 'constraintsEvent' for nil:NilClass (NoMethodError)
实际上,正常的“ruby main.rb”效果很好(关于“需要”部分),但用“plasmoidviewer”测试plasmoid失败了。请注意,标准Ruby安装中的常规gem很好用,即require 'Qt4'
或require 'yaml'
完全加载。我在Linux下使用Ruby 1.9.2p180。
09:40 PM - 更新: QtRuby开发人员之一Richard Dale刚刚在几分钟前解决了这个问题。下一版KDE将修补QtRuby版本。
答案 0 :(得分:0)
require 'find'
require 'findUtils'
Find.find(PATH_WHERE_GEM_IS_INSTALLED) do |path|
if FileTest.directory?(path)
$: << File.expand_path(path)
if File.basename(path)[0] == ?. and File.basename(path) != '.'
Find.prune
else
next
end
else
end
end
然后你可以做
require 'dbus'
答案 1 :(得分:0)
你试过这个:
require 'rubygems'