[英]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.