简体   繁体   English

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

[英]How to install a gem into rvm with puppet on a vagrant box?

I've setup a simple Vagrant box with puppet provisioner. 我已经设置了一个带有木偶配置器的简单Vagrant盒子。 With puppet I've installed rvm: 随着木偶我已经安装了rvm:

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

and ruby: 和红宝石:

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

I'm trying to install a gem that would be available on the default ruby version of rvm (in this case 2.0.0) 我正在尝试安装一个可以在rvm的默认ruby版本上使用的gem(在本例中为2.0.0)

If I try the puppet documented code it doen's work (I suppose it instals the gem on the system ruby): 如果我尝试使用木偶记录的代码,它就可以正常工作(我想它会在系统ruby中使用gem):

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

Current workaround: If I execute a command as a vagrant user it works, but it doesn't look nice: 当前的解决方法:如果我作为流浪汉用户执行命令它可以工作,但它看起来不太好:

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

Any ideas? 有任何想法吗?
Thank you. 谢谢。

You could use this rvm module from puppet forge. 你可以在puppet forge中使用这个rvm模块 Check the Vagrant documentation about puppet to know how to use puppet modules with vagrant. 检查有关木偶Vagrant文​​档 ,了解如何使用流浪汉的木偶模块。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM