У меня есть шеф-повар 11.4.4, у которого установлен рубин 1.9.1. Я хочу установить berkshelf, но для этого требуется ruby 1.9.2 или новее. Я установил ruby 2.0.0-p247 (последняя стабильная) с rvm. Когда я запускаю команду ножа я получаю ...переключение рубин с rvm breaks chef 11.4.4 команда ножа
# knife help
/opt/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find chef (>= 0) amongst [rake-10.1.0, rvm-1.11.3.8] (Gem::LoadError)
from /opt/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /opt/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
from /usr/bin/knife:22:in `<main>'
Если переключить его обратно в версию системы, которая является версией рубина внедренного с шефом-поваром, он снова работает.
# rvm use system
Now using system ruby.
# knife help
Usage: knife SUBCOMMAND (options)
.
.
.
Я искал пути для обновления рубина до 2.0.0x для шеф-повара, но не повезло. Мне нравится легко переключаться на рубиновые версии. Было бы здорово, если бы шеф-повар мог сделать то же самое, но просто заставить его работать с последней стабильной версией или даже версией версии 1,9.2 было бы здорово. Благодаря!
У шеф-повара 11.4.4 были проблемы с Ruby 2.0 (rubygems 2.0.x фактически с изменением формата). Попробуйте установить старую версию rubygem, например 1.8.25 'gem update --system 1.8.25' или переключиться на 1.9.3-p448. Таким образом, я решил проблему с шеф-поваром. –
Спасибо. Это помогло. Я переключился на 1.9.3 и установил драгоценный камень шеф-повара, и он сработал. –
Я сделаю ответ и добавлю дополнительную информацию. Это должно быть полезно для многих других, сталкивающихся с тем же вопросом, пожалуйста, проголосуйте за него позже :-) –