Установите pgadmin4 с помощью puppet

Я пытаюсь установить pgadmin4 с помощью puppet,

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 

Как я могу передать несколько источников?

Я использую это как руководство по установке pgadmin4 на centos7 установите pgAdmin4 с yum


person Developer    schedule 06.09.2018    source источник
comment
Нам нужно сначала узнать, что такое класс yum::install, чтобы знать, что возможно.   -  person Alex Harvey    schedule 07.09.2018
comment
модуль puppet, forge.puppet.com/puppet/yum   -  person Developer    schedule 07.09.2018
comment
Да, это я сделал вывод. Мой ответ ниже, надеюсь, ответит на ваш вопрос.   -  person Alex Harvey    schedule 07.09.2018


Ответы (2)


Я немного проверил и у меня есть все основания полагать, что вы используете модуль puppet-yum. . Класс yum::install определяется здесь.

Похоже, вам нужно объявить несколько ресурсов 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,
  }
}
person Alex Harvey    schedule 07.09.2018

Я думаю, вы должны действовать в соответствии с сообщением об ошибке. Параметр «источник» ожидает одно строковое значение, и вы передаете кортеж. Итак, я предлагаю вам передать одно строковое значение в исходном параметре.

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-адрес в следующей команде. Я не уверен, что это сработает, но попробовать стоит. спасибо!

person Prasanth K M    schedule 06.09.2018
comment
Но вы по-прежнему передаете туда массив вместо строки. - person Alex Harvey; 07.09.2018