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"
Andreas Sauer
quelle

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
Alex
quelle
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

Mikołaj Marciniak
quelle
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.

Evan
quelle
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
16

Installieren Sie dies für PHP7.1

sudo apt-get install php7.1-zip
Muhammad F. Musad
quelle
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 [email protected]

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

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc

echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc

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

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

Marcos Curvello
quelle
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
Amit Khanna
quelle
4

Centos 7 mit PHP7.2:

sudo yum --enablerepo=remi-php72 install php-pecl-zip
Amirul
quelle
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
Borodatych
quelle
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

Ian Samz
quelle
2

um deine PHP-Version zu kennen

php -v 

für PHP 7.3.0

sudo apt-get install php7.3-zip
mohamed elshazly
quelle
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

Für Mac mit Macports,

# port install php71-zip
Toby
quelle
Die Frage bezieht sich auf Ubuntu, nicht auf Mac.
Martijn Pieters
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

Fil
quelle
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

Ankur Tiwari
quelle
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
Hosny Ben
quelle
Bitte fügen Sie Ihrer Antwort eine weitere Erklärung hinzu - wie löst diese Befehlsliste das gegebene Problem?
Nico Haase