2013-09-24 2 views
2

У меня возникли проблемы при попытке запустить рецепт rvm::user от fnichol/chef-rvm. Я использую шеф-повар вместе с коробкой бродяг. РВМ устанавливает штраф, но каждый раз, когда повар пытается установить рубин, он терпит неудачу с этой ошибкой:rvm cookbook не удается установить рубин внутри бродяги

WARN: Failed to install rvm_ruby[ruby-1.9.3-p448]. Check logs in /log/ruby-1.9.3-p448 

Вот мой Vagrantfile:

Vagrant.configure("2") do |config| 
    config.vm.box  = 'precise32' 
    config.vm.box_url = 'http://files.vagrantup.com/precise32.box' 

    config.vm.provision "chef_solo" do |chef| 
    chef.add_recipe "rvm::vagrant" 
    chef.add_recipe "rvm::user" 

    chef.json = { 
     :rvm => { 
     :user_installs => [ 
      { 
       :user => "vagrant", 
       :default_ruby => "1.9.3", 
       :rubies => ["1.9.3"], 
       :global_gems => [ 
        { :name => 'bundler' } 
       ],     
      } 
     ] 
     } 
    end 
end 
  • Окружающая среда Детали:
    • Vagrant версия: 1.2.7
    • Vagrant vm: precise32
    • версия РВМ: 1.22.11
    • шеф-РВМ исх: 59dc482

ответ

3

Оказывается, что Бродяга был запущен повара в неинтерактивный/не TTY сессии. Команда sudo не любит запускаться в неинтерактивных сеансах и приводит к сбою rvm при попытке установить зависимости (через apt-get в ubuntu).

Вы можете позволить Судо запускать неинтерактивно, добавив в /etc/sudoers:

vagrant ALL= (ALL:ALL) NOPASSWD: ALL 

После того, как я добавил это, повар успешно установил rvm::user рецепт.

+0

Я думал, что это была установка по умолчанию для беспризорных коробки – mpapis

0

Моя настройка была намного сложнее, однако ошибка была такой же. В конечном счете я обнаружил, что добавление рецепта apt chef исправил все.

chef.add_recipe "apt" 
chef.add_recipe "rvm::vagrant" 
chef.add_recipe "rvm::user" 

> Run List is [recipe[apt], recipe[curl], recipe[rvm::vagrant], recipe[rvm::user]] 

Добавление линии

vagrant ALL=(ALL:ALL) NOPASSWD: ALL 

не работает для моего сценария.

Я считаю, что рецепт apt chef работает с обновлением, которое устраняет проблему со старыми и плохо подобранными версиями.

Сообщения об ошибках, которые я получил были

Error executing action `install` on resource 'package[libxml2-dev]' 
apt-get -q -y install libxml2-dev=2.7.8.dfsg-5.1ubuntu4.1 returned 100, expected 0 
.... 
Error executing action `install` on resource 'rvm_ruby[2.1.1]' 
Смежные вопросы