2013-02-06 43 views
7

寶石版本衝突使用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,但是通過安裝1.1.2,net-ssh-multi版本1.1讓我感到困惑。

+0

我想我有一個解決辦法: – Mojo

回答

9

這是由於撞到淨SSH所需的版本> = 2.6.5淨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

我不得不用11歲的廚師版本由於nginx的源食譜兼容性和你的解決方法幫助了很多:)謝謝! –

+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

我有辦法以獲得廚師10.12.0 gem安裝在Ruby 1.8.7上。我不得不稍微調整Mojo的答案來完成這件事。

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

我工作圍繞這個錯誤迫使MIME類型的舊版本(1.21),恰好完成工作:

在魔的順序前面的步驟後,gem install chef -v 10.12.0與失敗。

整個事情是:

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