Quando executo um composer update
, recebo esta mensagem de erro:
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
O que preciso fazer para ativar os comandos zip e descompactar para que o compositor possa baixar dependências?
php
composer-php
b85411
fonte
fonte
composer update --prefer-source
esse problema ao tentar ocomposer update
phpspec.Failed to download symfony/polyfill-ctype from dist: The zip extension and unzip command are both missing, skipping.
Estou em um Mac e tive problemas em fazer o Homebrew funcionar para instalar extensões php. Portanto, minha solução rápida foi forçar acomposer
não precisar usar o zip adicionando a opção --prefer-source. Isso significa que ele baixa o repositório em vez de um pacote compactado. Não é uma solução a longo prazo, mas é útil saber.Respostas:
Dependendo do seu sabor das versões Linux e PHP, elas podem variar.
Essa é uma pergunta muito comum, você poderá encontrar informações mais úteis no éter pesquisando
<distro> php <version> zip extension
.fonte
apt-get install php-zip
é suficientephp[version]-package
vsphp-package
para um determinado pacote? Gostaria de saber como eu costumo ir apenas com aphp[version]-package
versão, mas talvez isso não é ideal ...php-<package>
é a versão padrão. Esses pacotes dependem apenas da versão mais recente. Se você precisar de uma versão específica (geralmente mais antiga), instalephp<version>-<package>
.# yum install zip unzip php7.2-zip
(no CentOS 7) #Para servidores com PHP 5.6
fonte
Para o Debian Jessie (que é o padrão atual para a imagem PHP no Docker Hub):
Você pode omitir os --sim, mas é útil quando você o executa em um arquivo Docker.
fonte
php-zip
: DPara distribuições mais antigas do Ubuntu, ou seja, 16.04, 14.04, 12.04 etc
fonte
Eu tinha o PHP7.2 em um servidor Ubuntu 16.04 e resolveu o meu problema:
sudo apt-get install zip unzip php-zip
Atualizar
Tentei isso no Ubuntu 18.04 e funcionou também.
fonte
Estou usando o Ubuntu e com o seguinte comando funcionou
apt-get install --yes zip unzip
fonte
Não para enfatizar o ponto, mas se você estiver trabalhando em um
Dockerfile
, você resolveria esse problema específico com o Composer instalando ounzip
utilitário. Abaixo está um exemplo usando a imagem oficial do PHP para instalarunzip
e azip
extensão PHP para uma boa medida.Este é um problema útil do GitHub, do qual o acima foi cuidadosamente retirado.
fonte
Se você estiver usando o Ubuntu e o PHP 7.2 , use este ...
fonte
Eu recebi esse erro quando instalei o Laravel 5.5 no meu servidor de nuvem digitalocean (Ubuntu 18.04 e PHP 7.2) e o seguinte comando o corrigiu.
fonte
Na janela de encaixe com imagem,
php:7.2-apache
eu precisava apenas de zip e descompactar. Não há necessidade de php-zip:apt-get install zip unzip
ou Dockerfile
fonte
Atualmente, atualmente o compositor parece funcionar sem o
zip
comando da linha de comando, portanto a instalaçãophp-zip
deve ser suficiente --- MAS exibiria um aviso:Consulte também Existe algum problema com o uso do php-zip (o compositor adverte sobre isso)
fonte