我将 puppet 与 Vagrant 一起使用,但在使用 rbenv 设置 Ruby 安装方面存在一些问题。
Ruby 安装良好(我正在使用插件:https ://forge.puppetlabs.com/jdowning/rbenv安装 ruby + gems,如下所示:
rbenv::plugin { 'sstephenson/ruby-build': } ->
rbenv::build { '1.9.3-p392': global => true } ->
rbenv::gem { 'bundler': ruby_version => '1.9.3-p392' } ->
但是,运行此命令后,Puppet 无法在 rbenvs shim 文件夹下找到 bundler 命令。我可以看到 rbenv 重新散列事件并检查插件的清单表明它应该在运行和 gem 安装等之后重新散列二进制文件。
如果我 ssh 到机器,“哪个捆绑器”会找到二进制文件的路径。同样,重新运行 puppet 脚本可以正常工作并安装一切正常。
目前我正在使用以下命令:
exec { "bundle install":
user => $app_user,
group => $app_group,
command => "bundle install",
path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/', "/home/${app_user}/.rbenv/bin/", "/home/${app_user}/.rbenv/shims/" ],
cwd => $app_root,
} ->
我知道这条路太过分了。
关于下一步我可以尝试什么的任何想法?我没主意了。