2013-02-06 8 views
7

、空gemsetをインストールすることはできません、私はこれを取得:はシェフ、宝石のバージョンRVMを使ってネットのsshネットのssh-マルチネットのssh-ゲートウェイとの競合

$ gem install chef --no-ri --no-rdoc 
ERROR: While executing gem ... (Gem::DependencyError) 
    Unable to resolve dependencies: chef requires net-ssh (~> 2.2.2); net-ssh-multi requires net-ssh (>= 2.6.5); net-ssh-gateway requires net-ssh (>= 2.6.5) 

私が解決しようとしました以前のバージョンのnet-ssh-gatewayとnet-ssh-multiをインストールするとnet-ssh-multiバージョン1.1がインストールされます。

+0

を問題を解決するため、私は回避策があると思う: – Mojo

答えて

9

これは> = 2.6.5にネットのsshの必要なバージョンをぶつけネットのssh-マルチの更新によるものです。シェフのチームはすでに新しいリリースに取り組んでいます。今のところあなたは使用できます

gem install chef --pre --no-ri --no-rdoc 
+0

ありがとうございます。はい、11.2.0がうまくいきます、ありがとうございます。 :) – Mojo

+5

私は真剣にインターネットを掘り起こす。わかりにくいエラーが見つかりました。後でGoogleでは、19時間前に投稿された私の正確な問題に対する完全な答えを見つけました。ああ、スタックオーバーフロー - あなたはどこにいませんか? – Yonatan

15

は、ここに私の最初の回避策が成功するためにです:

gem install net-ssh -v 2.2.2 --no-ri --no-rdoc 
gem install net-ssh-gateway -v 1.1.0 --no-ri --no-rdoc --ignore-dependencies 
gem install net-ssh-multi -v 1.1.0 --no-ri --no-rdoc --ignore-dependencies 
gem install chef --no-ri --no-rdoc 
+0

私が原因nginxの元料理の互換性に11の下でシェフのバージョンを使用していましたあなたの回避策は多くの助けになりました:)ありがとう! –

+0

はい、私は同じ問題を発見しました...レシピはシェフ11のために深刻な作業を必要とします。このシーケンスでシェフ10.16.4でブートストラップされます。^ – Mojo

3

Bundlerは、これらの厄介な依存関係をネゴシエートすることに問題はありません。

echo -e "source :rubygems\ngem 'chef'" > Gemfile && bundle 

それとも、Opscode recommended installerを使用することができます。ここではバンドラーの魔法でシェフをインストールするためのワンライナーです。ここではワンライナーは、Ubuntuのためです:

curl -L https://www.opscode.com/chef/install.sh | sudo bash 
8

このシーケンスは、シェフのバージョン10.16.4をブートストラップされているサーバー、およびバージョンの競合回避にインストールされます:

gem install net-ssh -v 2.2.2 --no-ri --no-rdoc 
gem install net-ssh-gateway -v 1.1.0 --ignore-dependencies --no-ri --no-rdoc 
gem install net-ssh-multi -v 1.1.0 --ignore-dependencies --no-ri --no-rdoc 
gem install chef --no-rdoc --no-ri -v 10.16.4 
0

私は道を持っていますRuby 1.8.7にシェフの10.12.0 gemをインストールする。これを行うためには、私はMojoの答えを微調整する必要がありました。

gem install chef -v 10.12.0をして失敗していたモジョのシーケンスの前の手順の後

、:私は仕事を得るために起こっているMIMEタイプの古いバージョン(1.21)を強制することでこのエラーを回避するに働い

ERROR: Error installing chef: mime-types requires Ruby version >= 1.9.2.

全体のことは、次のとおりです。

gem install net-ssh -v 2.2.2 --no-ri --no-rdoc 
gem install net-ssh-gateway -v 1.1.0 --ignore-dependencies --no-ri --no-rdoc 
gem install net-ssh-multi -v 1.1.0 --ignore-dependencies --no-ri --no-rdoc 
gem install mime-types -v 1.21 --no-ri --no-rdoc 
gem install chef --no-rdoc --no-ri -v 10.12.0 
0

バンドラーは非常によく

mkdir /tmp/install-chef 
pushd /tmp/install-chef 
gem install bundler 
echo -e "source 'https://rubygems.org'\ngem 'chef', '= 10.18.2'" > Gemfile 
bundle install 
popd 
rm -rf /tmp/install-chef