gpt4 book ai didi

ruby - 指定 Rubygems 的自定义位置以通过包类型安装

转载 作者:数据小太阳 更新时间:2023-10-29 08:03:12 28 4
gpt4 key购买 nike

我已将 Ruby 安装在自定义位置(在 Ubuntu 机器上,使用 ruby​​-install 安装到/opt/rubies 中),当涉及到这样的声明时:

  package { 'bundler':
ensure => 'installed',
provider => 'gem',
require => Exec["Install Ruby"],
}

它们会失败(或安装错误的 Ruby 版本),因为它在错误的位置 (/usr/bin) 寻找 Rubygems 的 gem 命令。我可以想出几种方法来解决这个问题:

  1. 告诉package 我想使用哪个版本的gem,但我在the docs for that 中看不到任何内容| .
  2. 将正确的 bin 目录添加到 PATH,但我不知道哪个用户正在运行配置程序,因此不知道在哪里更改 PATH。还是应该随 Ruby 安装一起更改路径?
  3. 改为使用 exec 声明。

显然,使用 package 非常方便,所以我更喜欢继续使用它的任何方式。任何帮助或见解将不胜感激。

最佳答案

如果你想继续使用package,你有两个选择:

  • 您可以更改 Puppet 代理运行的 PATH
  • 您可以使用所需的 gem 路径对提供者进行子类化。喜欢this ,除非您不需要替换 uninstall 方法,因此您可以丢失该部分。然后将 provider => gem 更改为 provider => whatever_provider_name_you_chose

关于ruby - 指定 Rubygems 的自定义位置以通过包类型安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35539118/

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