![Keine Pakete, die mit ** übereinstimmen, sind in Ansible verfügbar](https://rvso.com/image/726380/Keine%20Pakete%2C%20die%20mit%20**%20%C3%BCbereinstimmen%2C%20sind%20in%20Ansible%20verf%C3%BCgbar.png)
Ich versuche, eine Liste von Paketen mit Ansible zu installieren, und kann anscheinend nicht verstehen, wo das Problem liegt.
- 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
Beim Ausführen des Playbooks wird jedoch die folgende Fehlermeldung angezeigt:
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"}
Auf dem Server, auf dem ich das teste, können alle Pakete installiert werden. Das ist kein Problem. Irgendwelche Ideen, was los ist? Ich verwende Ansible 2.6.3 auf Ubuntu 16.04 und versuche, die Pakete auch auf einem anderen System mit demselben Betriebssystem zu installieren.
Antwort1
Der Fehler, den Sie erhalten haben, lautet im relevanten Teil:
No package matching 'php7.2-mcrypt' is available
Dies liegt daran, dass diese Funktion in 7.2 aus PHP entfernt wurde, sodass es kein entsprechendes Ubuntu/Debian-Paket mehr gibt.
DerDokumenteZustand:
This feature was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.
Die Funktion ist weiterhin als externes PECL-Paket verfügbar. Aber anders als bei Red Hat/Fedora, das ein Paket für PECL mcrypt für PHP 7.2 hat, haben sich die Paketentwickler von Ubuntu/Debian entschieden, es nicht zu verpacken. Sie können es möglicherweise immer noch manuell von PECL installieren, wenn Sie alten PHP-Code haben, der es benötigt.