Impossibile installare il programma di installazione di Laravel tramite il compositore


120

Sto cercando di installare il programma di installazione di laravel con il compositore sul mio PC Ubuntu, ma ricevo questo errore durante l'installazione. `Non è stato possibile risolvere i tuoi requisiti in un set di pacchetti installabili.

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

Viene visualizzato l'errore, quindi utilizzo questo commento:

composer global require "laravel/installer"

Risposte:


285

Dice che richiede l' estensione zip

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

Installa utilizzando (per installare la versione predefinita):

sudo apt install php-zip

Oppure, se stai utilizzando una versione specifica di 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
Funziona perfettamente ma non dovrebbe essere presente nell'installazione del compositore? È un gestore delle dipendenze ... manca una dipendenza. Forse è stato Cannonical a mancare l'inclusione.
Tyler Christian

2
@TylerChristian, l'installazione del compositore gestisce le dipendenze PHP, php7.0-zip è un pacchetto di sistema. Non può essere risolto dal compositore. Teoricamente, è possibile aggiungere un hook che installa anche il pacchetto di sistema, ma richiederà l'accesso sudo, che è DAVVERO una cattiva pratica.
Alex

4
requires ext-zipè un messaggio piuttosto inutile. Dovrei dire requires php-zip or phpX.X-zipalmeno.
Henry

1
per gli utenti mac os, si prega invece di utilizzare Homebrew. Non è necessario eseguire i comandi brew come root. esempio: brew install php7.0-zip
Hosny Ben

31

PER UTENTI MAC con CATALINA

Innanzitutto, installa homebrew. Poi dici

brew install php@7.3
brew link php@7.3

riavvia la console ed esegui il programma di installazione di laravel


La domanda chiede di Ubuntu, non di Mac.
Martijn Pieters

17
Sì, ma questo è utile per gli altri. Sono su Mac e l'ho trovato con la ricerca su Google. Questa risposta non sarà la risposta migliore per OP, ma sicuramente utile per gli altri.
DavidG

Per favore aggiungi qualche ulteriore spiegazione alla tua risposta: come fa questo comando a risolvere il problema dato? C'è qualche problema nell'installare semplicemente l'estensione data senza prima installare altri programmi?
Nico Haase,

21

Su centos 7 ho usato:

yum install php-pecl-zip

perché qualsiasi altra soluzione non ha funzionato per me.


La domanda chiede di Ubuntu, non di CentOS.
Martijn Pieters

Questo è esattamente quello che stavo cercando, grazie. yum install php-zip non funziona su CentOS 7.
GTS Joe


6

Se stai affrontando questo problema con macOS Catalina , ti consiglio questi passaggi:

  1. Installa Homebrew (se non l'hai già fatto): vai su brew.sh o esegui semplicemente questo comando:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Correre brew install php@7.3

  3. Aggiorna la tua variabile $ PATH per includere la versione di php appena installata:

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. Ricarica lo script delle preferenze della shell $ source ~/.zshrcosource ~/.bashrc

  2. Infine, installa laravel: composer global require laravel/installer


1
Prima del passaggio 4, apri una nuova finestra di terminale, altrimenti il ​​nuovo $ PATH non sarà disponibile.
user1771561

La domanda chiede di Ubuntu, non di Mac.
Martijn Pieters

4

Per Ubuntu 16.04, ho usato questo comando per PHP7.2e ha funzionato per me.

sudo apt-get install php7.2-zip

4

Centos 7 con PHP7.2:

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

La domanda chiede di Ubuntu, non di 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
Aggiungi alcuni commenti per spiegare come il tuo codice risponde alla domanda al fine di migliorare questa risposta.
Eric Hauenstein

2

Per PHP 7.2 in Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Funziona come un fascino


2

per conoscere la tua versione di php

php -v 

per php 7.3.0

sudo apt-get install php7.3-zip

Ricevo questo errore E: Impossibile trovare il pacchetto php7.3-zip E: Impossibile trovare alcun pacchetto di glob 'php7.3-zip' E: Impossibile trovare alcun pacchetto con regex 'php7.3-zip '
mak


1

Sto usando WSL con la versione Ubuntu 16.04 LTS con php 7.3 e laravel 5.7

sudo apt-get install php7.3-zip

Lavora per me


1

L'estensione zip è mancante , puoi evitare questo errore eseguendo semplicemente il comando sotto, prenderà la versione per impostazione predefinita

sudo apt-get install php-zip

Nel caso tu abbia bisogno di una versione specifica, devi menzionare una versione specifica del tuo php, supponiamo di dover installare la Xversione di php-zip, il comando sarà.

sudo apt-get install phpX-zip  

Sostituisci Xcon la tua versione richiesta, nel mio caso lo è X = 7.3


1

Per gli utenti macOs puoi invece usare 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

Per favore aggiungi qualche ulteriore spiegazione alla tua risposta: come questo elenco di comandi risolve il problema dato?
Nico Haase,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.