0

我正在尝试为 KDE 编写一个 Ruby plasmoid。我只需要使用一颗红宝石。每当我写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”运行良好(关于“require”部分),但使用“plasmoidviewer”测试 plasmoid 失败。请注意,来自标准 Ruby 安装的常规 gem 运行良好,即require 'Qt4'require 'yaml'完美加载。我在 Linux 下使用 Ruby 1.9.2p180。

09:40 PM - 更新: Richard Dale,QtRuby 开发人员之一,几分钟前刚刚修复了这个问题。KDE 的下一个版本将有 QtRuby 的补丁版本。

4

2 回答 2

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'
于 2011-05-22T16:04:35.753 回答
0

你有没有试过这个:

require 'rubygems'

?

于 2011-05-22T16:37:04.983 回答