Puppet 木偶罐头';找不到绑定器命令

Puppet 木偶罐头';找不到绑定器命令,puppet,Puppet,我正在将puppet与Vagrant一起使用,但在使用rbenv来安装Ruby安装时存在一些问题 Ruby安装很好(我使用插件:安装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与Vagrant一起使用,但在使用rbenv来安装Ruby安装时存在一些问题

Ruby安装很好(我使用插件:安装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 rehash事件,并且检查插件的清单显示,它应该在运行和gem安装等之后重新刷新二进制文件

如果我ssh到机器上,一个“哪个bundler”会找到二进制文件的路径。同样,重新运行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,
} ->
我知道这条路太危险了


关于下一步可以尝试什么,有什么想法吗?我没有想法了。

在尝试执行bundler之前,确保所有的gem设置都已完成,这一点很重要,例如

exec { "bundle install": require => Rbenv::Gem["..."], ... }

否则,可能会在执行后对rehash资源进行评估。

不太了解rbenv。默认shell可能是sh,处于非交互模式。rbenv是否与bashrc或bash_配置文件一起使用?需要源rbenv特定的脚本?请在
/bin/bash-l…
@Samuel中尝试您的命令。您找到解决方案了吗n?我面临着完全相同的问题,你的问题是最热门的搜索结果之一。嘿,弗兰克,刚刚看到你的答复。我一定是不知怎么解决了它,但我不确定我做了什么。我模糊地记得木偶自动加载的一些命名问题,要求我重命名一些已签出的文件夹。如果有帮助,这是我的工作日志用于获取Ruby设置的ant/Puppet配置。