2017-02-10 12 views
1

Это мой первый раз, используя модуль cpanm в Ansible. Я пытаюсь вытащить из своей поисковой системы определенный модуль MIME :: QuotedPrint и, похоже, не может заставить его потянуть, используя мой сценарий Ansible. Может кто-нибудь взглянуть и сообщить мне, что я делаю неправильно здесь?Использование модуля cpanm в Ansible

- name: Downloading Perl Modules 
    cpanm: name=MIME::QuotedPrint mirror=http://search.cpan.org/CPAN/authors/id/J/JH/JHI/perl-5.8.0.tar.gz 

Я проверил документацию Ansible, но я не уверен, что такое псевдоним/pkg, как указано. Спасибо всем!!

+0

'cpanm' не поддерживает поисковую систему. Это не связано с metacpan.org (похоже, вы так считали). Это просто аккуратный клиент, который работает с любым зеркалом CPAN. – simbabque

+0

Спасибо за информацию! есть ли способ использовать cpanm для правильного перевода QuotedPrint? Или я вообще об этом ошибаюсь? – ryekayo

+0

Неправильное зеркало. Зеркало cpan - это сервер, на котором есть полная копия CPAN, но вы разместили там фактический дистрибутив. Похоже, что это релиз для самого Perl, в версии 5.8.0. Вам не нравится, какое зеркало CPAN вы собираетесь использовать? Может быть, это физически близко к вам? В $ work мы делаем это, потому что наша компания предоставляет публичное зеркало CPAN, поэтому мы используем его по мере приближения и тем самым быстрее. Но вам это не нужно. В командной строке вы будете использовать 'cpanm MIME :: QuotedPrint' и все. Не уверен, как заставить Ansible сделать это. Может быть, 'cmd'? Недавно я не использовал Ansible. – simbabque

ответ

0

Нашли хорошую работу вокруг этого:

- name: Installing CPANM 
    command: cpan install App::cpaminus 

- name: Downloading Perl Modules 
    cpanm: name=MIME::QuotedPrint 

Это заставило его работать правильно.

+3

Большинство дистрибутивов Linux предоставляют cpanm как пакет, поэтому вы всегда можете установить это, используя, например, модуль apt или dnf Ansible перед использованием модуля защиты cpanm Ansible. – mwp

+3

И вам не нужно 'install'. Из командной строки cpan принимает имена модулей. В CPAN есть пакет с именем _install_, который ничего не делает, потому что многие люди делают это неправильно, и удаление его нарушает все вещи. – simbabque

+0

cpan install Приложение :: cpaminus не работает для меня, либо в незадаваемой задаче, либо в командной строке. –

1

Это очень близко. Вот это решение, улучшилось:

- name: Installing CPANM 
    yum: pkg=perl-App-cpanminus 

- name: Downloading Perl Modules 
    cpanm: name=MIME::QuotedPrint 

Это использует лучшие проверки анзибль, чтобы избежать повторной установки cpanm каждый раз. В примечаниях выше, измените всю строку yum на apt или dnf на основе вашего вкуса Linux, и название пакета может отличаться.