我正在尝试使用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
答案 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。我不确定这是否行得通,但是值得尝试。谢谢!