No se puede instalar el instalador de laravel a través del compositor

120

Estoy intentando instalar el instalador de laravel con el compositor en mi PC con Ubuntu, pero aparece este error durante la instalación. `Sus requisitos no se pudieron resolver en un conjunto de paquetes instalables.

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

Aparece el error, luego uso este comentario:

composer global require "laravel/installer"
Andreas Sauer
fuente

Respuestas:

285

Dice que requiere extensión zip

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

Instalar usando (para instalar la versión predeterminada):

sudo apt install php-zip

O, si está ejecutando una versión específica 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
fuente
1
Funciona perfectamente, pero ¿no debería estar en la instalación del compositor? Es un administrador de dependencias ... falta una dependencia. Tal vez fue Cannonical quien perdió la inclusión.
Tyler Christian
2
@TylerChristian, composer install administra las dependencias de PHP, php7.0-zip es un paquete del sistema. No puede ser resuelto por el compositor. En teoría, es posible agregar un gancho que también instale el paquete del sistema, pero requerirá acceso a sudo, lo cual es REALMENTE una mala práctica.
Alex
4
requires ext-zipes un mensaje bastante inútil. Debería decir requires php-zip or phpX.X-zipal menos.
Henry
1
para usuarios de mac os, utilice Homebrew en su lugar. No es necesario ejecutar los comandos brew como root. ejemplo: brew install php7.0-zip
Hosny Ben
31

PARA USUARIOS DE MAC con CATALINA

Primero, instale homebrew. Luego dice

brew install php@7.3
brew link php@7.3

reinicia la consola y ejecuta el instalador de laravel

Mikołaj Marciniak
fuente
La pregunta se refiere a Ubuntu, no a Mac.
Martijn Pieters
16
Sí, pero esto es útil para otros. Estoy en Mac y encontré esto con la búsqueda de Google. Esta respuesta no será la respuesta principal para OP, pero definitivamente será útil para otros.
DavidG
Agregue alguna explicación adicional a su respuesta: ¿cómo resuelve este comando el problema dado? ¿Existe algún problema en simplemente instalar la extensión dada sin instalar otros programas primero?
Nico Haase
21

En centos 7 he usado:

yum install php-pecl-zip

porque cualquier otra solución no funcionó para mí.

Evan
fuente
La pregunta se refiere a Ubuntu, no a CentOS.
Martijn Pieters
Esto es exactamente lo que estaba buscando, gracias. yum install php-zip no funciona en CentOS 7.
GTS Joe
16

Para PHP7.1 instale esto

sudo apt-get install php7.1-zip
Muhammad F. Musad
fuente
6

Si tiene este problema con macOS Catalina , le recomiendo estos pasos:

  1. Instale Homebrew (si aún no lo ha hecho): diríjase a brew.sh o simplemente ejecute este comando:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. correr brew install [email protected]

  3. Actualice su variable $ PATH para incluir la versión recién instalada 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. Vuelva a cargar su script de preferencias de shell $ source ~/.zshrcosource ~/.bashrc

  2. Finalmente, instale laravel: composer global require laravel/installer

Marcos Curvello
fuente
1
Antes del paso 4, abra una nueva ventana de terminal; de lo contrario, el nuevo $ PATH no estará disponible.
user1771561
La pregunta se refiere a Ubuntu, no a Mac.
Martijn Pieters
4

Porque Ubuntu 16.04he usado este comando PHP7.2y funcionó para mí.

sudo apt-get install php7.2-zip
Amit Khanna
fuente
4

Centos 7 con PHP7.2:

sudo yum --enablerepo=remi-php72 install php-pecl-zip
Amirul
fuente
La pregunta se refiere a Ubuntu, no a 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
fuente
1
Agregue algunos comentarios para explicar cómo su código responde a la pregunta para mejorar esta respuesta.
Eric Hauenstein
2

Para PHP 7.2 en Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Funciona de maravilla

Ian Samz
fuente
2

para saber tu versión php

php -v 

para php 7.3.0

sudo apt-get install php7.3-zip
mohamed elshazly
fuente
Recibo este error E: No puedo ubicar el paquete php7.3-zip E: No pude encontrar ningún paquete por glob 'php7.3-zip' E: No pude encontrar ningún paquete por regex 'php7.3-zip '
mak
1

Para Mac con Macports,

# port install php71-zip
Toby
fuente
La pregunta se refiere a Ubuntu, no a Mac.
Martijn Pieters
1

Estoy usando WSL con ubuntu 16.04 versión LTS con php 7.3 y laravel 5.7

sudo apt-get install php7.3-zip

Trabaja para mi

Fil
fuente
1

Falta la extensión zip , puede evitar este error simplemente ejecutando el siguiente comando, tomará la versión por defecto

sudo apt-get install php-zip

En caso de que necesite una versión específica, debe mencionar una versión específica de su php, suponga que necesito instalar la Xversión de php-zip, entonces el comando será.

sudo apt-get install phpX-zip  

Reemplace Xcon su versión requerida, en mi caso, es X = 7.3

Ankur Tiwari
fuente
1

Para los usuarios de macOs, puede usar Homebrew en su lugar:

# 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
fuente
Agregue alguna explicación adicional a su respuesta: ¿cómo resuelve esta lista de comandos el problema dado?
Nico Haase