Неможливо встановити програму інсталятора laravel через композитор


120

Я намагаюся встановити інсталятор laravel разом із композитором на свій комп'ютер Ubuntu, але я отримую цю помилку під час встановлення. `Ваші вимоги не вдалося вирішити до встановленого набору пакетів.

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

Помилка з’являється тоді я використовую цей коментар:

composer global require "laravel/installer"

Відповіді:


285

У ньому йдеться про те, що воно вимагає розширення zip

laravel / installer v1.4.0 вимагає ext-zip ...

Встановити за допомогою (для встановлення типової версії):

sudo apt install php-zip

Або якщо ви використовуєте конкретну версію 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
Працює чудово, але чи не повинно це бути в композиційній установці? Це менеджер залежності ... не вистачає залежності. Можливо, Канонічно пропустило включення.
Тайлер Крістіан

2
@TylerChristian, програма композитора управляє залежностями PHP, php7.0-zip - це системний пакет. Це не може вирішити композитор. Теоретично можна додати гачок, який також встановлює системний пакет, але він вимагатиме доступу до sudo, що дійсно є поганою практикою.
Олексій

4
requires ext-zip- це досить корисне повідомлення. Слід сказати requires php-zip or phpX.X-zipпринаймні.
Генрі

1
для користувачів mac os замість цього скористайтеся Homebrew. Не потрібно запускати команди brew як root. приклад: варити встановити php7.0-zip
Hosny Ben

31

ДЛЯ КОРИСТУВАЧІВ MAC з CATALINA

Спочатку встановіть домашню мову. Тоді, скажімо

brew install php@7.3
brew link php@7.3

перезавантажте консоль та запустіть інсталятор laravel


Питання задається про Ubuntu, а не про Mac.
Martijn Pieters

17
Так, але це корисно для інших. Я на Mac і знайшов це за допомогою google search. Ця відповідь не буде головною відповіддю для ОП, але, безумовно, корисна для інших.
DavidG

Додайте додаткове пояснення до своєї відповіді - як ця команда вирішує задану проблему? Чи є якась проблема просто встановити дане розширення, не встановлюючи спочатку інших програм?
Ніко Хааз

21

На centos 7 я використав:

yum install php-pecl-zip

тому що будь-яке інше рішення не спрацювало для мене.


Питання задається про Ubuntu, а не про CentOS.
Martijn Pieters

Це саме те, що я шукав, дякую. yum install php-zip не працює на CentOS 7.
GTS Joe


6

Якщо ви зіткнулися з цією проблемою з macOS Catalina , я рекомендую наступні кроки:

  1. Встановіть Homebrew (якщо ви цього ще не зробили): перейдіть до brew.sh або просто запустіть цю команду:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Біжи brew install php@7.3

  3. Оновіть змінну $ PATH, щоб включити нещодавно встановлену версію 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. Перезавантажте сценарій налаштувань оболонки $ source ~/.zshrcабоsource ~/.bashrc

  2. Нарешті, встановіть laravel: composer global require laravel/installer


1
Перед кроком 4 відкрийте нове вікно терміналу, інакше новий $ PATH не буде доступний.
користувач1771561

Питання задається про Ubuntu, а не про Mac.
Martijn Pieters

4

Бо Ubuntu 16.04я використав цю команду PHP7.2і вона працювала на мене.

sudo apt-get install php7.2-zip


3
V=`php -v | sed -e '/^PHP/!d' -e 's/.* \([0-9]\+\.[0-9]\+\).*$/\1/'` \
sudo apt-get install php$V-zip

1
Будь ласка, додайте коментарі, щоб пояснити, як ваш код відповідає на питання, щоб покращити цю відповідь.
Eric Hauenstein


2

знати свою версію php

php -v 

для php 7.3.0

sudo apt-get install php7.3-zip

Я отримую цю помилку E: Неможливо знайти пакунок php7.3-zip E: Не вдалося знайти жодного пакета за допомогою glob 'php7.3-zip' E: Не вдалося знайти жодного пакета за допомогою regex 'php7.3-zip '
мак


1

Я використовую WSL з версією ubuntu 16.04 LTS з php 7.3 та laravel 5.7

sudo apt-get install php7.3-zip

Працюй для мене


1

відсутнє розширення zip. Ви можете уникнути цієї помилки, просто запустивши команду нижче, за замовчуванням буде прийнята версія

sudo apt-get install php-zip

Якщо вам потрібна якась конкретна версія, вам потрібно згадати конкретну версію вашого php. Припустимо, мені потрібно встановити Xверсію php-zip, тоді команда буде.

sudo apt-get install phpX-zip  

Замініть Xпотрібну версію. У моєму випадку вона є X = 7.3


1

Для користувачів macOs ви можете використовувати 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

Будь ласка, додайте до своєї відповіді додаткове пояснення - як цей список команд вирішує задану проблему?
Ніко Хааз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.