Não é possível instalar o instalador do laravel via composer


120

Estou tentando instalar o laravel installer com o composer no meu Ubuntu PC, mas recebo este erro durante a instalação. `Seus requisitos não puderam ser resolvidos para um conjunto de pacotes instaláveis.

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

O erro aparece então eu uso este comentário:

composer global require "laravel/installer"

Respostas:


285

Diz que requer extensão zip

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

Instale usando (para instalar a versão padrão):

sudo apt install php-zip

Ou, se você estiver executando uma versão específica do 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 perfeitamente, mas não deveria estar na instalação do composer? É um gerenciador de dependência ... faltando uma dependência. Talvez tenha sido o Cannonical que perdeu a inclusão.
Tyler Christian

2
@TylerChristian, composer install gerencia dependências do PHP, php7.0-zip é um pacote de sistema. Não pode ser resolvido pelo compositor. Teoricamente, é possível adicionar hook que instala o pacote do sistema também, mas irá requerer acesso ao sudo, o que é REALMENTE uma prática ruim.
Alex

4
requires ext-zipé uma mensagem bastante inútil. Deveria dizer requires php-zip or phpX.X-zippelo menos.
Henry

1
para usuários de mac os, use o Homebrew. Você não precisa executar comandos brew como root. exemplo: brew install php7.0-zip
Hosny Ben

31

PARA USUÁRIOS MAC com CATALINA

Primeiro, instale o homebrew. Então diga

brew install php@7.3
brew link php@7.3

reinicie o console e execute o instalador laravel


A pergunta é sobre o Ubuntu, não sobre o Mac.
Martijn Pieters

17
Sim, mas isso é útil para os outros. Estou no mac e encontrei isso com a pesquisa do google. Essa resposta não será a principal para o OP, mas definitivamente útil para os outros.
DavidG

Adicione mais explicações à sua resposta - como este comando resolve o problema fornecido? Existe algum problema em simplesmente instalar a extensão fornecida sem instalar outros programas primeiro?
Nico Haase

21

No centos 7 eu usei:

yum install php-pecl-zip

porque qualquer outra solução não funcionou para mim.


A pergunta é sobre o Ubuntu, não sobre o CentOS.
Martijn Pieters

Isso é exatamente o que eu estava procurando, obrigado. yum install php-zip não funciona no CentOS 7.
GTS Joe


6

Se você está enfrentando esse problema com o macOS Catalina , recomendo estas etapas:

  1. Instale o Homebrew (se ainda não o fez): vá para brew.sh ou simplesmente execute este comando:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Corre brew install php@7.3

  3. Atualize sua variável $ PATH para incluir a versão recém-instalada do 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. Recarregue seu script de preferências de shell $ source ~/.zshrcousource ~/.bashrc

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


1
Antes da etapa 4, abra uma nova janela de terminal, caso contrário, o novo $ PATH não estará disponível.
user1771561

A pergunta é sobre o Ubuntu, não sobre o Mac.
Martijn Pieters

4

Pois Ubuntu 16.04, eu usei esse comando para PHP7.2e funcionou para mim.

sudo apt-get install php7.2-zip

4

Centos 7 com PHP7.2:

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

A pergunta é sobre o Ubuntu, não sobre o 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
Adicione alguns comentários para explicar como seu código responde à pergunta a fim de melhorar esta resposta.
Eric Hauenstein

2

Para PHP 7.2 no Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Funciona como um encanto


2

para saber sua versão php

php -v 

para php 7.3.0

sudo apt-get install php7.3-zip

Estou recebendo este erro E: Não foi possível localizar o pacote php7.3-zip E: Não foi possível encontrar nenhum pacote por glob 'php7.3-zip' E: Não foi possível encontrar nenhum pacote por regex 'php7.3-zip '
mak


1

Estou usando o WSL com ubuntu 16.04 LTS versão com php 7.3 e laravel 5.7

sudo apt-get install php7.3-zip

Trabalhe para mim


1

A extensão zip está faltando , você pode evitar este erro executando simplesmente o comando abaixo, ele terá a versão por padrão

sudo apt-get install php-zip

No caso de você precisar de alguma versão específica, você precisa mencionar uma versão específica do seu php. Suponha que eu precise instalar a Xversão do php-zip, então o comando será.

sudo apt-get install phpX-zip  

Substitua Xpela versão necessária, no meu caso, é X = 7.3


1

Para usuários macOs, você pode usar o Homebrew:

# 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

Adicione mais explicações à sua resposta - como esta lista de comandos resolve o problema fornecido?
Nico Haase
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.