【问题标题】:rvm cookbook fails installing ruby within vagrantrvm 食谱在 vagrant 中安装 ruby​​ 失败
【发布时间】:2013-09-30 07:33:07
【问题描述】:

我在尝试从 fnichol/chef-rvm 运行 rvm::user 配方时遇到了问题。我正在使用厨师和流浪者盒子。 rvm 安装正常,但每次 chef 尝试安装 ruby​​ 时,都会失败并出现以下错误:

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
  • 环境细节:
    • 流浪版本:1.2.7
    • 流浪虚拟机:precise32
    • rvm版本:1.22.11
    • chef-rvm 参考:59dc482

【问题讨论】:

    标签: rvm chef-infra vagrant


    【解决方案1】:

    事实证明,Vag​​rant 在非交互式/非 tty 会话中运行 chef。 sudo 命令不喜欢在非交互式会话中运行,并导致 rvm 在尝试安装依赖项时失败(通过 ubuntu 中的 apt-get)。

    您可以通过将其添加到/etc/sudoers 来允许 sudo 以非交互方式运行:

    vagrant  ALL= (ALL:ALL) NOPASSWD: ALL
    

    添加后,厨师成功安装了rvm::user 食谱。

    【讨论】:

    • 我认为这是 vagrant box 的默认设置
    【解决方案2】:

    我的设置要复杂得多,但是错误是一样的。最终我发现添加 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 食谱会运行 apt update 来修复旧版本和不匹配版本的问题。

    我收到的错误信息是

    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]'
    

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多