Impossible d'installer le programme d'installation de laravel via composer


120

J'essaie d'installer le programme d'installation de laravel avec le compositeur sur mon PC Ubuntu, mais j'obtiens cette erreur lors de l'installation. `Vos besoins n'ont pas pu être résolus en un ensemble de packages installables.

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

L'erreur apparaît alors j'utilise ce commentaire:

composer global require "laravel/installer"

Réponses:


285

Il dit qu'il nécessite une extension zip

laravel / installer v1.4.0 nécessite ext-zip ...

Installer en utilisant (pour installer la version par défaut):

sudo apt install php-zip

Ou, si vous utilisez une version spécifique de 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
Fonctionne parfaitement mais cela ne devrait-il pas être dans l'installation du compositeur? C'est un gestionnaire de dépendances ... il manque une dépendance. C'est peut-être Cannonical qui a raté l'inclusion.
Tyler Christian

2
@TylerChristian, composer install gère les dépendances PHP, php7.0-zip est un package système. Il ne peut pas être résolu par le compositeur. Théoriquement, il est possible d'ajouter un hook qui installe également le package système, mais cela nécessitera un accès sudo, ce qui est VRAIMENT une mauvaise pratique.
Alex

4
requires ext-zipest un message assez inutile. Devrait dire requires php-zip or phpX.X-zipau moins.
Henry

1
pour les utilisateurs de mac os, veuillez utiliser Homebrew à la place. Vous n'avez pas besoin d'exécuter des commandes de brassage en tant que root. exemple: brew install php7.0-zip
Hosny Ben

31

POUR LES UTILISATEURS MAC avec CATALINA

Tout d'abord, installez homebrew. Alors dire

brew install php@7.3
brew link php@7.3

redémarrez la console et exécutez le programme d'installation de laravel


La question concerne Ubuntu, pas Mac.
Martijn Pieters

17
Oui, mais cela est utile aux autres. Je suis sur Mac et j'ai trouvé cela avec la recherche Google. Cette réponse ne sera pas la meilleure réponse pour OP, mais elle sera certainement utile pour les autres.
DavidG

Veuillez ajouter quelques explications supplémentaires à votre réponse - comment cette commande résout-elle le problème donné? Y a-t-il un problème à simplement installer l'extension donnée sans installer d'autres programmes au préalable?
Nico Haase le

21

Sur centos 7, j'ai utilisé:

yum install php-pecl-zip

car aucune autre solution ne fonctionnait pour moi.


La question concerne Ubuntu, pas CentOS.
Martijn Pieters

C'est exactement ce que je cherchais, merci. yum install php-zip ne fonctionne pas sur CentOS 7.
GTS Joe


6

Si vous rencontrez ce problème avec macOS Catalina , je recommande ces étapes:

  1. Installez Homebrew (si vous ne l'avez pas déjà fait): rendez-vous sur brew.sh ou exécutez simplement cette commande:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Courir brew install php@7.3

  3. Mettez à jour votre variable $ PATH pour inclure la version nouvellement installée de 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. Rechargez votre script de préférences shell $ source ~/.zshrcousource ~/.bashrc

  2. Enfin, installez laravel: composer global require laravel/installer


1
Avant l'étape 4, ouvrez une nouvelle fenêtre de terminal, sinon le nouveau $ PATH ne sera pas disponible.
user1771561 le

La question concerne Ubuntu, pas Mac.
Martijn Pieters

4

Car Ubuntu 16.04, j'ai utilisé cette commande pour PHP7.2et cela a fonctionné pour moi.

sudo apt-get install php7.2-zip

4

Centos 7 avec PHP7.2:

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

La question concerne Ubuntu, pas 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
Veuillez ajouter quelques commentaires pour expliquer comment votre code répond à la question afin d'améliorer cette réponse.
Eric Hauenstein

2

Pour PHP 7.2 dans Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Fonctionne comme un charme


2

pour connaître votre version php

php -v 

pour php 7.3.0

sudo apt-get install php7.3-zip

J'obtiens cette erreur E: Impossible de localiser le package php7.3-zip E: Impossible de trouver un package par glob 'php7.3-zip' E: Impossible de trouver un package par regex 'php7.3-zip '
mak


1

J'utilise WSL avec la version ubuntu 16.04 LTS avec php 7.3 et laravel 5.7

sudo apt-get install php7.3-zip

Travaille pour moi


1

L'extension zip est manquante , vous pouvez éviter cette erreur en exécutant simplement la commande ci-dessous, elle prendra la version par défaut

sudo apt-get install php-zip

Au cas où vous auriez besoin d'une version spécifique, vous devez mentionner une version spécifique de votre php, supposons que je doive installer la Xversion de php-zip, alors la commande sera.

sudo apt-get install phpX-zip  

Remplacez Xpar votre version requise, dans mon cas, c'est X = 7.3


1

Pour les utilisateurs de macOs, vous pouvez utiliser Homebrew à la place:

# 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

Veuillez ajouter quelques explications supplémentaires à votre réponse - comment cette liste de commandes résout-elle le problème donné?
Nico Haase le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.