如何在流浪盒上用木偶安装宝石到rvm?

时间:2013-04-23 10:39:40

标签: rvm puppet vagrant

我已经设置了一个带有木偶配置器的简单Vagrant盒子。 随着puppet我安装了rvm:

exec { 'install_rvm':
  command => "${as_vagrant} 'curl -L https://get.rvm.io | bash -s stable'",
  creates => "${home}/.rvm",
  require => Package['curl']
}

和红宝石:

exec { 'install_ruby':
  command => "${as_vagrant} '${home}/.rvm/bin/rvm install 2.0.0 --latest-binary --autolibs=enabled && rvm --fuzzy alias create default 2.0.0'",
  creates => "${home}/.rvm/bin/ruby",
  require => Exec['install_rvm']
}

我正在尝试安装一个可以在rvm的默认ruby版本上使用的gem(在本例中为2.0.0)

如果我尝试傀儡记录的代码,它就会起作用(我想它会在系统ruby上暂存它):

package { 'sinatra':
    ensure   => 'installed',
    provider => 'gem',
}

目前的解决方法:如果我以流浪汉用户身份执行命令,它会起作用,但看起来并不好看:

$as_vagrant   = 'sudo -u vagrant -H bash -l -c'

exec { "${as_vagrant} 'sudo -u vagrant -H bash -l -c gem install stasis'":
  require => Exec['install_ruby']
}

任何想法?
谢谢。

1 个答案:

答案 0 :(得分:2)

你可以使用木偶伪造的this rvm module。检查Vagrant documentation about puppet以了解如何使用流浪汉的木偶模块。