Cuando ejecuto un composer update
mensaje de error:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Failed to download psr/log from dist: The zip extension and unzip command are both missing, skipping.
The php.ini used by your command-line PHP is: /etc/php/7.0/cli/php.ini
Now trying to download from source
¿Qué debo hacer para habilitar los comandos zip y descomprimir para que el compositor pueda descargar dependencias?
php
composer-php
b85411
fuente
fuente
composer update --prefer-source
Tuve este problema al intentarcomposer update
phpspec.Failed to download symfony/polyfill-ctype from dist: The zip extension and unzip command are both missing, skipping.
Estoy en una Mac y tuve problemas para hacer que Homebrew funcione para instalar extensiones php. Por lo tanto, mi solución rápida era obligarcomposer
no a la necesidad de su uso postal añadiendo la opción --prefer de código. Esto significa que descarga el repositorio en lugar de un paquete comprimido. No es una solución a largo plazo, pero es útil saberlo.Respuestas:
Dependiendo de su versión de Linux y PHP, esto puede variar.
Esta es una pregunta muy común, podrá buscar más información útil en el éter mediante la búsqueda
<distro> php <version> zip extension
.fuente
apt-get install php-zip
es suficientephp[version]-package
vsphp-package
para cualquier paquete dado? Me encantaría saber que generalmente solo uso laphp[version]-package
versión, pero tal vez eso no sea óptimo ...php-<package>
es la versión predeterminada. Estos paquetes solo dependen de la versión más reciente. Si necesita alguna versión específica (generalmente más antigua), instalephp<version>-<package>
.# yum install zip unzip php7.2-zip
(en CentOS 7)Para servidores con PHP 5.6
fuente
Para Debian Jessie (que es el valor predeterminado actual para la imagen PHP en Docker Hub):
Puede omitir --yes, pero es útil cuando lo está EJECUTANDO en un Dockerfile.
fuente
php-zip
: DPara distribuciones de Ubuntu anteriores, es decir, 16.04, 14.04, 12.04, etc.
fuente
Tenía PHP7.2 en un servidor Ubuntu 16.04 y resolvió mi problema:
sudo apt-get install zip unzip php-zip
Actualizar
Probé esto para Ubuntu 18.04 y funcionó también.
fuente
Estoy usando Ubuntu y con el siguiente comando funcionó
apt-get install --yes zip unzip
fuente
No para diferir el punto, pero si está trabajando en un
Dockerfile
, resolverá este problema particular con Composer instalando launzip
utilidad. A continuación se muestra un ejemplo que utiliza la imagen oficial de PHP para instalarunzip
y lazip
extensión PHP para una buena medida.Este es un problema útil de GitHub de donde lo anterior se levanta con amor.
fuente
Si está usando Ubuntu y PHP 7.2 , use esto ...
fuente
Recibí este error cuando instalé Laravel 5.5 en mi servidor de nube digitalocean (Ubuntu 18.04 y PHP 7.2) y el siguiente comando lo solucionó.
fuente
En la ventana acoplable con imagen
php:7.2-apache
, solo necesitaba comprimir y descomprimir. No hay necesidad de php-zip:apt-get install zip unzip
o Dockerfile
fuente
En realidad, el compositor de hoy en día parece funcionar sin el
zip
comando de línea de comando, por lo que la instalaciónphp-zip
debería ser suficiente, PERO mostraría una advertencia:Consulte también ¿Hay algún problema con el uso de php-zip (el compositor lo advierte)
fuente