0

KDE 用の Ruby プラズモイドを作成しようとしています。rubygem を 1 つしか使用する必要がありません。私が書くたびに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 - 更新: QtRuby 開発者の 1 人である Richard Dale が、数分前にこの問題を修正しました。KDE の次のリリースには、QtRuby のパッチが適用されたバージョンが含まれます。

4

2 に答える 2

0

これを試しましたか:

require 'rubygems'

?

于 2011-05-22T16:37:04.983 に答える
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 に答える