0

使用している gem のバージョンに問題があるようです。私はインターネットにアクセスできません。Rubyforge から直接 gem をダウンロードし、ターゲット マシンに SCP しgem install --force --localてインストールしました。Ruby/Rubygems は、約 1 か月前に作成された EPEL リポジトリのスナップショットから取得されます。これはネットワーク内のマシンでホストされ、YUM はネットワーク全体で正しい場所を指すように構成されます。

Net::SSH ファミリの gem (Net:SSH、Net::SSH::Shell、Net::SSH::Multi、Net::SSH::Gateway、Net::SCP) を使用しようとしています。my を実行すると、次のfile.rbようになります。

/usr/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': RubyGem version error: net-ssh(2.6.6 not ~> 2.1.0) (Gem::LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:249:in `activate' 
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `each'
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `activate'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:35:in `require'
        from ./cluster_config.rb:12

実際のバージョンが予想されたバージョンよりも小さいという問題をインターネット上でたくさん見てきましたが、実際のバージョンが予想よりも新しいという例を見つけただけで、 「相棒が手に入れました、ありがとう」と言うOP。

~>また、この使用でオペレーターを見たのはこれが初めてです。通常、私は>=ここでオペレーターを見てきました。

助言がありますか?

4

1 に答える 1

0

~>Gemfiles 内で使用され、メジャー バージョンとマイナー バージョンが同一であるという条件で、パッチ バージョンが指定されたバージョン以上の gem を使用できるようにします。例えば:

~> 2.1.0version は許可しますが、 orは許可2.1.9しません。2.2.02.0.0

~> 2.1.3orも許可しますが、許可2.1.9しません。2.1.02.2.0

また、必要な正確なバージョンを RubyGems から直接ダウンロードすることもできます。あなたの場合、リンクはhttp://rubygems.org/downloads/net-ssh-2.1.0.gemになります。

于 2013-03-27T21:09:11.460 に答える