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"
Andreas Sauer
la source

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
Alex
la source
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

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

Evan
la source
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
16

Pour PHP7.1, installez ceci

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

  3. Mettez à jour votre variable $ PATH pour inclure la version nouvellement installée de php:

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

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

  1. Rechargez votre script de préférences shell $ source ~/.zshrcousource ~/.bashrc

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

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

Centos 7 avec PHP7.2:

sudo yum --enablerepo=remi-php72 install php-pecl-zip
Amirul
la source
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
borodatych
la source
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

Ian Samz
la source
2

pour connaître votre version php

php -v 

pour php 7.3.0

sudo apt-get install php7.3-zip
Mohamed Elshazly
la source
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

Pour Mac avec Macports,

# port install php71-zip
Toby
la source
La question concerne Ubuntu, pas Mac.
Martijn Pieters
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

Fil
la source
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

Ankur Tiwari
la source
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
Hosny Ben
la source
Veuillez ajouter quelques explications supplémentaires à votre réponse - comment cette liste de commandes résout-elle le problème donné?
Nico Haase le