Laravel Installer kann nicht über Composer installiert werden


119

Ich versuche, das Laravel-Installationsprogramm mit dem Composer auf meinem Ubuntu-PC zu installieren, erhalte jedoch diesen Fehler während der Installation. `Ihre Anforderungen konnten nicht in einen installierbaren Satz von Paketen aufgelöst werden.

  Problem 1
    - laravel/installer v1.4.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - laravel/installer v1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - Installation request for laravel/installer ^1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1].

  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-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-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.
`

Der Fehler erscheint dann benutze ich diesen Kommentar:

composer global require "laravel/installer"

Antworten:


285

Es heißt, dass eine Reißverschlussverlängerung erforderlich ist

laravel / installer v1.4.0 benötigt ext-zip ...

Installieren mit (um die Standardversion zu installieren):

sudo apt install php-zip

Oder wenn Sie eine bestimmte Version von PHP ausführen:

# For php v7.0
sudo apt-get install php7.0-zip

# For php v7.1
sudo apt-get install php7.1-zip

# For php v7.2
sudo apt-get install php7.2-zip

# For php v7.3
sudo apt-get install php7.3-zip

# For php v7.4
sudo apt-get install php7.4-zip

1
Funktioniert einwandfrei, sollte dies aber nicht in der Composer-Installation sein? Es ist ein Abhängigkeitsmanager ... dem eine Abhängigkeit fehlt. Vielleicht war es Cannonical, das die Aufnahme verpasst hat.
Tyler Christian

2
@ TylerChristian, Composer Install verwaltet PHP-Abhängigkeiten, php7.0-zip ist ein Systempaket. Es kann nicht vom Komponisten gelöst werden. Theoretisch ist es möglich, einen Hook hinzuzufügen, der auch das Systempaket installiert, aber es erfordert einen Sudo-Zugriff, was WIRKLICH eine schlechte Praxis ist.
Alex

4
requires ext-zipist eine ziemlich wenig hilfreiche Nachricht. Sollte requires php-zip or phpX.X-zipzumindest sagen .
Henry

1
Für Mac OS Benutzer verwenden Sie bitte Homebrew. Sie müssen keine Brew-Befehle als root ausführen. Beispiel: Brew installieren php7.0-zip
Hosny Ben

29

FÜR MAC-BENUTZER mit CATALINA

Installieren Sie zuerst Homebrew. Dann sage

brew install php@7.3
brew link php@7.3

Starten Sie die Konsole neu und führen Sie das Laravel-Installationsprogramm aus


Die Frage bezieht sich auf Ubuntu, nicht auf Mac.
Martijn Pieters

13
Ja, aber das ist hilfreich für andere. Ich bin auf dem Mac und habe dies mit der Google-Suche gefunden. Diese Antwort wird nicht die beste Antwort für OP sein, aber sie ist definitiv hilfreich für andere.
DavidG

Bitte fügen Sie Ihrer Antwort eine weitere Erklärung hinzu - wie löst dieser Befehl das gegebene Problem? Gibt es ein Problem bei der einfachen Installation der angegebenen Erweiterung, ohne zuerst andere Programme zu installieren?
Nico Haase

21

Auf Centos 7 habe ich verwendet:

yum install php-pecl-zip

weil jede andere Lösung bei mir nicht funktioniert hat.


Die Frage bezieht sich auf Ubuntu, nicht auf CentOS.
Martijn Pieters

Genau das habe ich gesucht, danke. yum install php-zip funktioniert nicht unter CentOS 7.
GTS Joe


5

Wenn Sie dieses Problem mit macOS Catalina haben , empfehle ich die folgenden Schritte:

  1. Installieren Sie Homebrew (falls Sie dies noch nicht getan haben): Gehen Sie zu Brew.sh oder führen Sie einfach diesen Befehl aus:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Lauf brew install php@7.3

  3. Aktualisieren Sie Ihre $ PATH-Variable, um die neu installierte Version von PHP einzuschließen:

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc

echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc

  1. Laden Sie Ihr Shell-Einstellungsskript $ source ~/.zshrcoder neusource ~/.bashrc

  2. Zum Schluss installieren Sie Laravel: composer global require laravel/installer


1
Öffnen Sie vor Schritt 4 ein neues Terminalfenster, da sonst der neue $ PATH nicht verfügbar ist.
user1771561

Die Frage bezieht sich auf Ubuntu, nicht auf Mac.
Martijn Pieters

4

Für Ubuntu 16.04habe ich diesen Befehl für verwendet PHP7.2und es funktionierte für mich.

sudo apt-get install php7.2-zip

4

Centos 7 mit PHP7.2:

sudo yum --enablerepo=remi-php72 install php-pecl-zip

Die Frage bezieht sich auf Ubuntu, nicht auf CentOS.
Martijn Pieters

3
V=`php -v | sed -e '/^PHP/!d' -e 's/.* \([0-9]\+\.[0-9]\+\).*$/\1/'` \
sudo apt-get install php$V-zip

1
Bitte fügen Sie einige Kommentare hinzu, um zu erklären, wie Ihr Code die Frage beantwortet, um diese Antwort zu verbessern.
Eric Hauenstein

2

Für PHP 7.2 in Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Klappt wunderbar


2

um deine PHP-Version zu kennen

php -v 

für PHP 7.3.0

sudo apt-get install php7.3-zip

Ich erhalte die Fehlermeldung E: Paket php7.3-zip konnte nicht gefunden werden E: Paket von glob 'php7.3-zip' konnte nicht gefunden werden E: Paket von regex 'php7.3-zip konnte nicht gefunden werden '
Mak


1

Ich benutze WSL mit Ubuntu 16.04 LTS Version mit PHP 7.3 und Laravel 5.7

sudo apt-get install php7.3-zip

Arbeite für mich


1

Die Zip-Erweiterung fehlt . Sie können diesen Fehler vermeiden, indem Sie einfach den folgenden Befehl ausführen. Die Version wird standardmäßig verwendet

sudo apt-get install php-zip

Wenn Sie eine bestimmte Version benötigen, müssen Sie eine bestimmte Version Ihres PHP erwähnen. Angenommen, ich muss die XVersion von PHP-Zip installieren, dann lautet der Befehl.

sudo apt-get install phpX-zip  

Ersetzen Sie Xdurch Ihre gewünschte Version. In meinem Fall ist es X = 7.3


1

Für MacO-Benutzer können Sie stattdessen Homebrew verwenden:

# For php v7.0
brew install php@7.0

# For php v7.1
brew install php@7.1

# For php v7.2
brew install php@7.2

# For php v7.3
brew install php@7.3

# For php v7.4
brew install php@7.4

Bitte fügen Sie Ihrer Antwort eine weitere Erklärung hinzu - wie löst diese Befehlsliste das gegebene Problem?
Nico Haase
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.