使用puppet

时间:2018-09-06 22:45:00

标签: puppet pgadmin-4

我正在尝试使用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

2 个答案:

答案 0 :(得分: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,
  }
}

答案 1 :(得分:0)

我认为您应该根据错误消息采取行动。参数“源”期望一个字符串值,并且您正在传递一个元组。因此,我建议您在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。我不确定这是否行得通,但是值得尝试。谢谢!