![Nenhum pacote correspondente ** está disponível em ansible](https://rvso.com/image/726380/Nenhum%20pacote%20correspondente%20**%20est%C3%A1%20dispon%C3%ADvel%20em%20ansible.png)
Estou tentando instalar uma lista de pacotes com ansible e não consigo entender qual é o problema.
- name: Add PHP 7.2 repo
apt_repository:
repo: ppa:ondrej/php
state: present
register: ppastable
- name: install php7.2-fpm and all necessary modules
apt: name={{ item }} state=present
with_items:
- php7.2-fpm
- php7.2-gd
- php7.2-curl
- php7.2-mysql
- php7.2-mcrypt
- php7.2-mbstring
- php7.2-xml
update_cache: true
when: ppastable is success
No entanto, quando executo o playbook, recebo o seguinte erro:
failed: [172.31.110.103] (item=[u'php7.2-fpm', u'php7.2-gd', u'php7.2-curl', u'php7.2-mysql', u'php7.2-mcrypt', u'php7.2-mbstring', u'php7.2-xml']) => {"changed": false, "item": ["php7.2-fpm", "php7.2-gd", "php7.2-curl", "php7.2-mysql", "php7.2-mcrypt", "php7.2-mbstring", "php7.2-xml"], "msg": "No package matching 'php7.2-mcrypt' is available"}
No servidor em que estou testando, todos os pacotes podem ser instalados. Isso não é um problema. Alguma ideia sobre o que se passa? Estou executando o ansible 2.6.3 no Ubuntu 16.04 e estou tentando instalar os pacotes também em outro sistema executando o mesmo sistema operacional.
Responder1
O erro que você recebeu afirma, na parte relevante:
No package matching 'php7.2-mcrypt' is available
Isso ocorre porque esse recurso foi removido do PHP na versão 7.2, então não existe mais um pacote Ubuntu/Debian correspondente.
Odocumentosestado:
This feature was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.
O recurso ainda está disponível como um pacote PECL externo. Mas diferentemente do Red Hat/Fedora, que possui um pacote para PECL mcrypt para PHP 7.2, os empacotadores do Ubuntu/Debian optaram por não empacotá-lo. Você ainda poderá instalá-lo manualmente a partir do PECL se tiver um código PHP antigo que precise dele.