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"

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

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


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.


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


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 php@7.3

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

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. Załaduj ponownie skrypt preferencji powłoki $ source ~/.zshrclubsource ~/.bashrc

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


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


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

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


2

poznać twoją wersję php

php -v 

dla php 7.3.0

sudo apt-get install php7.3-zip

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

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


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


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

Dodaj dodatkowe wyjaśnienie do swojej odpowiedzi - w jaki sposób ta lista poleceń rozwiązuje dany problem?
Nico Haase
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.