0

メッセージがRabbitMQにトリガーされている場所を見つける必要があるアプリケーションを実行しています。メッセージが process.rb ファイルから RabbitMQ に投稿されていることがわかりました。RabbitMQ に投稿されているメッセージを取得するために、残りの呼び出しを試みました。そのため、ubuntu マシンに gem rest-client-1.8.0 を追加しました。そして、server/process.rb にいくつかのコードを追加しようとしました。また、コードに require 'rest-client' を追加しました。

以下に示すように、ヘッダー「rest-client」を追加しました。

require "sensu/server/filter"
require "sensu/server/mutate"
require "sensu/server/handle"
require "rest-client"

エラー:

/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- rest-client (LoadError) from /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu- 0.20.3/lib/sensu/server/process.rb:5:in <top (required)>' from /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire' から /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/bin/sensu-server:7:in' から /opt /sensu/bin/sensu-server:23:in load' from /opt/sensu/bin/sensu-server:23:in'

Sensu は、ubuntu マシンのパス "/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu" にインストールされます。Sensu は独自の Ruby で実行されることがわかったため、rest-client gem を sensu 内にインストールしようとしました。しかし、同じ問題に直面しました。gem をインストールする場所を教えてもらえますか? 別の方法はありますか?メッセージを消費する必要があり、残りの呼び出しでペイロードを渡す必要があります。

4

3 に答える 3

0

埋め込みルビーを使用しており、このエラー メッセージは、そこに rest-client gem がインストールされていないことを示唆しています。gem install rest-client これはあなたが使用するものではないので、そうしてもあまり役に立ちません

必要に応じ /opt/sensu/embedded/bin/gem install rest-clientて、組み込みの ruby​​ gems of sense にインストールされるようにします。

于 2016-06-09T16:56:49.367 に答える
0

Sensu インストール インストールには、組み込みrubyディストリビューションがあります。sensu を見つけます。デフォルトはで、そこに含まれるディレクトリから/opt/sensu/embeddedを実行します。これにより、gem が適切なルビの場所に適用されます。gembin

于 2016-06-09T12:09:00.920 に答える