![No hay paquetes que coincidan con ** disponible en ansible](https://rvso.com/image/726380/No%20hay%20paquetes%20que%20coincidan%20con%20**%20disponible%20en%20ansible.png)
Estoy intentando instalar una lista de paquetes con ansible y parece que no puedo entender cuál es el 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
Sin embargo, cuando ejecuto el libro de jugadas, aparece el siguiente error:
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"}
En el servidor en el que estoy probando esto, se pueden instalar todos los paquetes. Eso no es un problema. ¿Alguna idea de qué está pasando? Estoy ejecutando ansible 2.6.3 en ubuntu 16.04 y estoy intentando instalar los paquetes también en otro sistema que ejecuta el mismo sistema operativo.
Respuesta1
El error que recibió dice, en la parte relevante:
No package matching 'php7.2-mcrypt' is available
Esto se debe a que esta característica se eliminó de PHP en 7.2, por lo que ya no existe un paquete Ubuntu/Debian correspondiente.
Eldocumentosestado:
This feature was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.
La función todavía está disponible como paquete PECL externo. Pero a diferencia de Red Hat/Fedora, que tiene un paquete para PECL mcrypt para PHP 7.2, los empaquetadores de Ubuntu/Debian han optado por no empaquetarlo. Es posible que aún puedas instalarlo manualmente desde PECL si tienes un código PHP antiguo que lo necesita.