Composer erfordert phpoffice/phpspreadsheet funktioniert nicht
Lesezeit: 5 Minuten
Herr Scf
Ich möchte ein Skript mit dem Paket Phpspreadsheet schreiben. Ich habe keine Erfahrung mit PHP. Ich versuche, die Referenz zu meinem Skript über sudo composer require phpoffice/phpspreadsheet hinzuzufügen. Aber es funktioniert nicht. Ich erhalte die Fehlermeldung: Installation fehlgeschlagen, Composer.json löschen….Wenn Sie keine Ahnung haben, warum es nicht funktioniert. Irgendeine Idee?
Detaillierter Fehler:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpoffice/phpspreadsheet ^1.0 -> satisfiable by phpoffice/phpspreadsheet[1.0.0].
- phpoffice/phpspreadsheet 1.0.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php/7.0/cli/php.ini
- /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
- /etc/php/7.0/cli/conf.d/10-opcache.ini
- /etc/php/7.0/cli/conf.d/10-pdo.ini
- /etc/php/7.0/cli/conf.d/20-calendar.ini
- /etc/php/7.0/cli/conf.d/20-ctype.ini
- /etc/php/7.0/cli/conf.d/20-exif.ini
- /etc/php/7.0/cli/conf.d/20-fileinfo.ini
- /etc/php/7.0/cli/conf.d/20-ftp.ini
- /etc/php/7.0/cli/conf.d/20-gettext.ini
- /etc/php/7.0/cli/conf.d/20-iconv.ini
- /etc/php/7.0/cli/conf.d/20-json.ini
- /etc/php/7.0/cli/conf.d/20-mcrypt.ini
- /etc/php/7.0/cli/conf.d/20-mysqli.ini
- /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
- /etc/php/7.0/cli/conf.d/20-phar.ini
- /etc/php/7.0/cli/conf.d/20-posix.ini
- /etc/php/7.0/cli/conf.d/20-readline.ini
- /etc/php/7.0/cli/conf.d/20-shmop.ini
- /etc/php/7.0/cli/conf.d/20-sockets.ini
- /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.0/cli/conf.d/20-sysvsem.ini
- /etc/php/7.0/cli/conf.d/20-sysvshm.ini
- /etc/php/7.0/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.
Sie sollten wahrscheinlich nicht verwenden sudo. Normalerweise werden Composer-Abhängigkeiten im Projektbereich und nicht als Superuser installiert. Aber wenn Sie in der Composer-Ausgabe nach oben scrollen, sollten mehr Informationen angezeigt werden. Ich habe es gerade probiert und hinbekommen phpoffice/phpspreadsheet 1.0.0 erfordert ext-zip * -> die angeforderte PHP-Erweiterung zip fehlt auf Ihrem System Das heißt, ich habe die Zip-Erweiterung nicht installiert. Möglicherweise haben Sie dieses Problem oder andere ähnliche Probleme.
– Michael Berkowski
13. Januar 2018 um 14:24 Uhr
Ich verwende die Aussage sudo Composer require phpoffice/phpspreadsheet
– Herr Scf
13. Januar 2018 um 14:34 Uhr
Mein Punkt ist, dass Sie wahrscheinlich nur verwenden sollten composer require phpoffice/phpspreadsheet ohne sudo. Tun Sie dies und posten Sie die vollständige Fehlerausgabe. Es sollte mehr als nur “Installation fehlgeschlagen” liefern.
– Michael Berkowski
13. Januar 2018 um 14:51 Uhr
Ja, ich bekomme: failed to open stream: Permission denied
– Herr Scf
13. Januar 2018 um 14:56 Uhr
Okay, dann haben Sie wahrscheinlich keinen Schreibzugriff, wo Sie versuchen, dies zu installieren und sudoist notwendig. Also verwenden sudo aber fügen Sie die vollständige Fehlerausgabe hinzu (bearbeiten Sie Ihren ursprünglichen Beitrag, anstatt ihn zu kommentieren).
– Michael Berkowski
13. Januar 2018 um 15:03 Uhr
Also sollte ich installieren
sudo apt install php-xml
sudo apt install php7.0-gd
sudo apt install php7.0-mbstring
sudo apt install php-zip
Für Kohärenz, sudo apt install php7.0-xml php7.0-gd php7.0-mbstring php7.0-zip
– Nikolaus
28. Mai 2018 um 9:15 Uhr
Hat jemand die Zip-Erweiterung für installieren können php7.2 ? heißt es weiter E: Paket php7.2-zip kann nicht gefunden werden E: Konnte kein Paket mit Regex ‘php7.2-zip’ finden Ich habe viele Variationen ausprobiert, aber keine funktioniert, ich habe PHP-Version 7.2.17-1+ubuntu14.04.1+deb.sury.org+3
– Muhammad Omer Aslam
12. September 2019 um 8:01 Uhr
Ich danke dir sehr! das hat gut funktioniert. Seit meiner war php7.2 Ich habe die geändertphp7.0 zu php7.2 und die anderen beiden gleich. dann hat es perfekt geklappt!
– Kidus Tekeste
18. April 2020 um 6:18 Uhr
Geben Sie besser die PHP-Version für jeden Befehl an (php7.3-xml, php7.3-gd, php7.3-mbstring, php7.3-zip).
– Akshay K. Nair
28. Januar 2021 um 11:11 Uhr
Diese Befehle sind auch mein Problem gelöst. Ich danke dir sehr.
– Enver
22. April 2021 um 10:35 Uhr
Ich hatte das gleiche Problem, ich behebe es, indem ich dies tue
composer install --ignore-platform-reqs
Irgendeine Erklärung?
– PriyankMotivaras
19. August 2021 um 19:59 Uhr
auch während der Ausführung von Composer install/update oder Installation neuer Paketzusätze
--ignore-platform-reqs
am Ende des Befehls, während das Hinzufügen/Installieren für verschiedene Umgebungen erfolgreich ist.
In Cento:
sudo yum install gd gd-devel php-gd
sudo apt installiere php-xml
sudo apt installiere php7.0-gd
sudo apt install php7.0-mbstring
sudo apt installiere php-zip
In meinem Fall fehlte mir php7.3-zip, nach der Installation verschwand der Fehler
– Abgaben
27. Oktober 2020 um 20:10 Uhr
jhoskins98
Bitte lesen Sie die Fehlermeldung “requires ext-dom”. Es beschwert sich über ein fehlendes Paket oder in diesem Fall eine PHP-Erweiterung. Wenn Sie ein Paket nicht installieren können, können Sie sich im Allgemeinen die erforderlichen Pakete in der Datei composer.json ansehen, um die vollständige Liste anzuzeigen.
phpoffice (in diesem Fall 1.1.0) erfordert Folgendes:
In meinem Fall fehlte mir php7.3-zip, nach der Installation verschwand der Fehler
– Abgaben
27. Oktober 2020 um 20:10 Uhr
tomerpazifik
Die Fehlermeldungsanzeige fehlt. Ich hatte das gleiche Problem, beheben Sie es, indem Sie dies tun. Bitte lesen Sie die Fehlermeldung “requires ext-dom”.
Bitte installieren Sie php7.1-dom
In meinem Fall ist PHP 7.1 unten, was ich getan habe und jetzt funktioniert.
Sie sollten wahrscheinlich nicht verwenden
sudo
. Normalerweise werden Composer-Abhängigkeiten im Projektbereich und nicht als Superuser installiert. Aber wenn Sie in der Composer-Ausgabe nach oben scrollen, sollten mehr Informationen angezeigt werden. Ich habe es gerade probiert und hinbekommen phpoffice/phpspreadsheet 1.0.0 erfordert ext-zip * -> die angeforderte PHP-Erweiterung zip fehlt auf Ihrem System Das heißt, ich habe die Zip-Erweiterung nicht installiert. Möglicherweise haben Sie dieses Problem oder andere ähnliche Probleme.– Michael Berkowski
13. Januar 2018 um 14:24 Uhr
Ich verwende die Aussage
sudo Composer require phpoffice/phpspreadsheet
– Herr Scf
13. Januar 2018 um 14:34 Uhr
Mein Punkt ist, dass Sie wahrscheinlich nur verwenden sollten
composer require phpoffice/phpspreadsheet
ohnesudo
. Tun Sie dies und posten Sie die vollständige Fehlerausgabe. Es sollte mehr als nur “Installation fehlgeschlagen” liefern.– Michael Berkowski
13. Januar 2018 um 14:51 Uhr
Ja, ich bekomme:
failed to open stream: Permission denied
– Herr Scf
13. Januar 2018 um 14:56 Uhr
Okay, dann haben Sie wahrscheinlich keinen Schreibzugriff, wo Sie versuchen, dies zu installieren und
sudo
ist notwendig. Also verwendensudo
aber fügen Sie die vollständige Fehlerausgabe hinzu (bearbeiten Sie Ihren ursprünglichen Beitrag, anstatt ihn zu kommentieren).– Michael Berkowski
13. Januar 2018 um 15:03 Uhr