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"

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

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


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


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


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

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

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


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

4

Centos 7 con PHP7.2:

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

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

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


2

para saber tu versión php

php -v 

para php 7.3.0

sudo apt-get install php7.3-zip

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

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


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


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

Agregue alguna explicación adicional a su respuesta: ¿cómo resuelve esta lista de comandos el problema dado?
Nico Haase
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.