gpt4 book ai didi

Puppet 找不到 bundler 命令

转载 作者:行者123 更新时间:2023-12-01 06:33:39 25 4
gpt4 key购买 nike

我在 Vagrant 中使用 puppet,但在使用 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 rehash 事件并检查插件的 list 显示它应该在运行和 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,
} ->

我知道这条路是矫枉过正的。

关于我接下来可以尝试什么的任何想法?我没有想法了。

最佳答案

在尝试执行捆绑程序之前,确保所有 gem 设置都已完成很重要,例如

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

否则,可能会在您的 exec 之后评估 rehash 资源。

关于Puppet 找不到 bundler 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com