【问题标题】:Install pgadmin4 using puppet使用 puppet 安装 pgadmin4
【发布时间】:2018-09-06 22:45:00
【问题描述】:

我正在尝试使用 puppet 安装 pgadmin4,

yum::install { 'pgadmin4':
    ensure => 'present',
    source => ['https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm',
               'https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm'
              ]
  }

出现以下错误

parameter 'source' expects a String value, got Tuple 

如何传递多个来源?

我以此为指导在 centos7 上安装 pgadmin4 install pgAdmin4 with yum

【问题讨论】:

  • 我们首先需要知道 yum::install 类是什么才能知道什么是可能的。
  • 是的,我推断出来了。我下面的回答希望能回答你的问题。

标签: puppet pgadmin-4


【解决方案1】:

我做了一些检查并且有充分的理由相信您正在使用puppet-yum 模块。 yum::install 类定义为here

看起来您需要为每个要安装的软件包声明多个 yum::install 资源。

这样的事情可能会奏效:

$pkgs = {
  'epel-release' => 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm',
  'pgadmin4' => 'https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm',
}

$pkgs.each |$pkg, $source| {
  yum::install { $pkg:
    ensure => present,
    source => $source,
  }
}

【讨论】:

    【解决方案2】:

    我认为你应该按照错误信息行事。参数 'source' 需要一个字符串值,而您正在传递一个元组。所以,我建议你在 source 参数中传递一个字符串值。

    yum::install { 'pgadmin4':
        ensure => 'present',
        source => 'https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm'
      }
    

    并在下一个命令中传递下一个 url。我不确定这是否可行,但值得一试。谢谢!

    【讨论】:

    • 但是你仍然在那里传递一个数组,而不是一个字符串。
    猜你喜欢
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多