使用RVM,和一个空的宝石,我得到这样的:
$ 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)
我试着通过安装早期版本的净SSH网关和网SSH-多,但净SSH-多1.1版本通过安装1.1.2混淆我的解决它。
这是由于撞到净-SSH的所需版本为> = 2.6.5净SSH-多的更新。 厨师团队已经开始工作的一个新版本。 现在,你可以使用
gem install chef --pre --no-ri --no-rdoc
这里是我的第一个解决方法才能成功:
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
这个序列将得到版本厨师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
捆绑有没有麻烦谈判这些阴暗的依赖关系。 这里有一个一行与捆扎机魔法安装厨师:
echo -e "source :rubygems\ngem 'chef'" > Gemfile && bundle
或者你也可以使用Opscode公司推荐的安装程序 。 这里是一个班轮为Ubuntu:
curl -L https://www.opscode.com/chef/install.sh | sudo bash
我有办法让厨师10.12.0宝石安装关于Ruby 1.8.7。 我不得不稍微调整的Mojo的回答得到这个工作。
在魔的顺序前面的步骤后, gem install chef -v 10.12.0
与失败:
ERROR: Error installing chef: mime-types requires Ruby version >= 1.9.2.
我工作围绕这个错误迫使MIME类型的旧版本(1.21),恰好把工作做好。
整个事情是:
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
捆绑解决这个问题非常好
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
文章来源: Can't install chef, gem version conflict with net-ssh net-ssh-multi net-ssh-gateway