Docker & Laravel: configure: Fehler: Paketanforderungen (Oniguruma) wurden nicht erfüllt
Lesezeit: 2 Minuten
Kann mir jemand bei diesem Problem helfen.
Wenn ich versuche, ein Docker-Image aus einer Docker-Datei für die Laravel-Anwendung zu erstellen, erhalte ich diese Fehlermeldung:
Prüfung auf Oniguruma … keine Konfiguration: Fehler: Paketanforderungen (Oniguruma) wurden nicht erfüllt:
No package 'oniguruma' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ONIG_CFLAGS
and ONIG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Der Befehl „/bin/sh -c docker-php-ext-install pdo mbstring“ hat einen Nicht-Null-Code zurückgegeben: 1
Hier ist mein Dockerfile:
FROM php:7
RUN apt-get update -y && apt-get install -y openssl zip unzip git
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install pdo mbstring
WORKDIR /app
COPY app /app # this copies all the app files to a folder called `app`
RUN composer install
CMD php artisan serve --host=0.0.0.0 --port=8000
EXPOSE 8000
und den Docker-Befehl zum Erstellen der Dockerfile
sudo docker build -t test .
Was @kalatabe gesagt hat, ist richtig. Aber falls Sie unbedingt sicherstellen wollten, dass mbstring installiert wird, können Sie auch hinzufügen libonig-dev zu deinem apt-get install
FEHLER: Pakete können nicht ausgewählt werden: #5 1.441 libonig-dev (kein solches Paket): #5 1.441 erforderlich von: world[libonig-dev]
– Fernando Torres
16. Juni 2021 um 18:32 Uhr
Ich musste auch die Abhängigkeit ‚libzip-dev‘ zur apt-get-Installation hinzufügen
– Gonzalo Cavazos
29. Juli 2021 um 22:46 Uhr
Einfach entfernen mbstring von dem docker-php-ext-install Anweisung.
Der Fehler wird durch ein Abhängigkeitsproblem verursacht – die mbstring Erweiterung erfordert die oniguruma Bibliothek, damit reguläre Multibyte-Ausdrucksfunktionen funktionieren. Von dem Installationsanleitung:
Oniguruma ist für die regulären Ausdrucksfunktionen mit Multibyte-Zeichenunterstützung erforderlich. Oniguruma ist mit mbstring gebündelt. Ab PHP 5.4.0, wenn Oniguruma bereits auf dem System installiert ist, –with-onig[=DIR] kann angegeben werden, die installierte Bibliothek zu verwenden.
In dem von Ihnen verwendeten Image ist die Erweiterung jedoch bereits installiert und konfiguriert, sodass Sie nichts weiter tun müssen: