2013-04-23 57 views
3

我已经设置了一个简单的傀儡配置器的流浪者箱子。 傀儡我已经安装RVM:如何在流浪盒子上用木偶安装宝石到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的默认红宝石版本(在这种情况下,2.0 .0)

如果我尝试傀儡记录代码它DOEN的工作(我想这instals对系统红宝石宝石):

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

任何想法?
谢谢。

回答

2

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

+0

嗨@ Marcos Brigante,我有[类似的东西](https://github.com/blt04/puppet-rvm)想要尝试,但仍然想知道如何使用木偶开箱。 – 2013-05-07 21:31:16

+1

其实如果你看看模块的代码,我想你会发现如何用纯粹的木偶做到这一点。 =] – 2013-05-11 02:24:54