Nie można zainstalować instalatora laravel za pomocą narzędzia Composer

120

Próbuję zainstalować instalator laravel z kompozytorem na moim komputerze z systemem Ubuntu, ale podczas instalacji pojawia się ten błąd. `Nie można rozwiązać Twoich wymagań w postaci zestawu pakietów do zainstalowania.

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

Pojawia się błąd, używam tego komentarza:

composer global require "laravel/installer"
Andreas Sauer
źródło

Odpowiedzi:

285

Mówi, że wymaga rozszerzenia zip

laravel / installer v1.4.0 wymaga ext-zip ...

Zainstaluj za pomocą (aby zainstalować wersję domyślną):

sudo apt install php-zip

Lub, jeśli używasz określonej wersji PHP:

# 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
źródło
1
Działa idealnie, ale czy nie powinno to być w instalacji kompozytora? To menedżer zależności ... brakuje zależności. Może to Cannonical przegapił włączenie.
Tyler Christian
2
@TylerChristian, instalacja composer zarządza zależnościami PHP, php7.0-zip to pakiet systemowy. Kompozytor nie może tego rozwiązać. Teoretycznie możliwe jest dodanie haka, który instaluje również pakiet systemowy, ale będzie to wymagało dostępu do sudo, co jest NAPRAWDĘ złą praktyką.
Alex
4
requires ext-zipto dość nieprzydatna wiadomość. Powinienem requires php-zip or phpX.X-zipprzynajmniej powiedzieć .
Henry,
1
w przypadku użytkowników systemu Mac OS zamiast tego użyj Homebrew. Nie musisz uruchamiać poleceń parzenia jako root. przykład: brew install php7.0-zip
Hosny Ben
31

DLA UŻYTKOWNIKÓW MAC z CATALINA

Najpierw zainstaluj homebrew. Następnie powiedz

brew install php@7.3
brew link php@7.3

zrestartuj konsolę i uruchom instalator laravel

Mikołaj Marciniak
źródło
Pytanie dotyczy Ubuntu, a nie Maca.
Martijn Pieters
17
Tak, ale jest to pomocne dla innych. Jestem na komputerze Mac i znalazłem to w wyszukiwarce Google. Ta odpowiedź nie będzie najlepszą odpowiedzią na OP, ale zdecydowanie pomocna dla innych.
DavidG
Dodaj dodatkowe wyjaśnienie do swojej odpowiedzi - w jaki sposób to polecenie rozwiązuje dany problem? Czy jest jakiś problem w prostej instalacji danego rozszerzenia bez wcześniejszej instalacji innych programów?
Nico Haase
21

Na centos 7 użyłem:

yum install php-pecl-zip

ponieważ żadne inne rozwiązanie nie działało dla mnie.

Evan
źródło
Pytanie dotyczy Ubuntu, a nie CentOS.
Martijn Pieters
Właśnie tego szukałem, dzięki. yum install php-zip nie działa na CentOS 7.
GTS Joe
16

W przypadku PHP7.1 zainstaluj to

sudo apt-get install php7.1-zip
Muhammad F. Musad
źródło
6

Jeśli masz ten problem z macOS Catalina , polecam następujące kroki:

  1. Zainstaluj Homebrew (jeśli jeszcze tego nie zrobiłeś): przejdź do brew.sh lub po prostu uruchom to polecenie:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Biegać brew install [email protected]

  3. Zaktualizuj zmienną $ PATH, aby zawierała nowo zainstalowaną wersję php:

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

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

  1. Załaduj ponownie skrypt preferencji powłoki $ source ~/.zshrclubsource ~/.bashrc

  2. Na koniec zainstaluj laravel: composer global require laravel/installer

Marcos Curvello
źródło
1
Przed krokiem 4 otwórz nowe okno terminala, w przeciwnym razie nowa $ PATH nie będzie dostępna.
user1771561
Pytanie dotyczy Ubuntu, a nie Maca.
Martijn Pieters
4

Ponieważ Ubuntu 16.04użyłem tego polecenia PHP7.2i zadziałało dla mnie.

sudo apt-get install php7.2-zip
Amit Khanna
źródło
4

Centos 7 z PHP7.2:

sudo yum --enablerepo=remi-php72 install php-pecl-zip
Amirul
źródło
Pytanie dotyczy Ubuntu, a nie 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
źródło
1
Dodaj kilka komentarzy, aby wyjaśnić, w jaki sposób Twój kod odpowiada na pytanie, aby poprawić tę odpowiedź.
Eric Hauenstein
2

Dla PHP 7.2 w Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Działa jak marzenie

Ian Samz
źródło
2

poznać twoją wersję php

php -v 

dla php 7.3.0

sudo apt-get install php7.3-zip
mohamed elshazly
źródło
Otrzymuję ten błąd E: Nie można znaleźć pakietu php7.3-zip E: Nie można znaleźć żadnego pakietu według globu „php7.3-zip” E: Nie można znaleźć żadnego pakietu według wyrażenia regularnego „php7.3-zip '
mak
1

Dla Maca z Macports,

# port install php71-zip
Toby
źródło
Pytanie dotyczy Ubuntu, a nie Maca.
Martijn Pieters
1

Używam WSL z wersją Ubuntu 16.04 LTS z PHP 7.3 i Laravel 5.7

sudo apt-get install php7.3-zip

Pracuj dla mnie

Fil
źródło
1

Brak rozszerzenia .zip.Możesz uniknąć tego błędu, uruchamiając po prostu poniższe polecenie, domyślnie pobierze wersję

sudo apt-get install php-zip

Jeśli potrzebujesz jakiejś konkretnej wersji, musisz wspomnieć o konkretnej wersji twojego php, Załóżmy, że muszę zainstalować Xwersję php-zip, a następnie polecenie będzie.

sudo apt-get install phpX-zip  

Zastąp Xwymaganą wersją, w moim przypadku tak jest X = 7.3

Ankur Tiwari
źródło
1

Dla użytkowników macOs możesz zamiast tego użyć Homebrew:

# 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
źródło
Dodaj dodatkowe wyjaśnienie do swojej odpowiedzi - w jaki sposób ta lista poleceń rozwiązuje dany problem?
Nico Haase