Tidak dapat menginstal pemasang laravel melalui komposer

120

Saya mencoba menginstal penginstal laravel dengan komposer di PC Ubuntu saya, tetapi saya mendapatkan kesalahan ini selama instalasi. `Persyaratan Anda tidak dapat diselesaikan menjadi sekumpulan paket yang dapat diinstal.

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

Kesalahan muncul maka saya menggunakan komentar ini:

composer global require "laravel/installer"
Andreas Sauer
sumber

Jawaban:

285

Ia mengatakan bahwa itu membutuhkan ekstensi zip

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

Instal menggunakan (untuk menginstal versi default):

sudo apt install php-zip

Atau, jika Anda menjalankan versi PHP tertentu:

# 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
Alex
sumber
1
Bekerja dengan sempurna tetapi bukankah ini seharusnya ada di instalasi komposer? Ini adalah manajer ketergantungan ... kehilangan ketergantungan. Mungkin Cannonical yang melewatkan inklusi.
Tyler Christian
2
@TylerChristian, composer install mengelola dependensi PHP, php7.0-zip adalah paket sistem. Itu tidak bisa diselesaikan oleh komposer. Secara teoritis, dimungkinkan untuk menambahkan hook yang menginstal paket sistem juga, tetapi itu akan membutuhkan akses sudo, yang merupakan praktik yang BENAR-BENAR buruk.
Alex
4
requires ext-zipadalah pesan yang sangat tidak membantu. requires php-zip or phpX.X-zipSetidaknya harus mengatakan .
Henry
1
untuk pengguna mac os silakan gunakan Homebrew sebagai gantinya. Anda tidak perlu menjalankan perintah brew sebagai root. contoh: brew install php7.0-zip
Hosny Ben
31

UNTUK PENGGUNA MAC dengan CATALINA

Pertama, instal homebrew. Lalu berkata

brew install php@7.3
brew link php@7.3

restart konsol dan jalankan penginstal laravel

Mikołaj Marciniak
sumber
Pertanyaannya menanyakan tentang Ubuntu, bukan Mac.
Martijn Pieters
17
Ya, tapi ini membantu orang lain. Saya menggunakan mac dan menemukan ini dengan pencarian google. Jawaban ini bukan jawaban teratas untuk OP, tapi pasti membantu orang lain.
DavidG
Harap tambahkan beberapa penjelasan lebih lanjut ke jawaban Anda - bagaimana perintah ini menyelesaikan masalah yang diberikan? Apakah ada masalah dalam menginstal ekstensi yang diberikan tanpa menginstal program lain terlebih dahulu?
Nico Haase
21

Di centos 7 saya telah menggunakan:

yum install php-pecl-zip

karena solusi lain tidak berhasil untuk saya.

Evan
sumber
Pertanyaannya menanyakan tentang Ubuntu, bukan CentOS.
Martijn Pieters
Inilah yang saya cari, terima kasih. yum install php-zip tidak berfungsi di CentOS 7.
GTS Joe
16

Untuk PHP7.1, instal ini

sudo apt-get install php7.1-zip
Muhammad F. Musad
sumber
6

Jika Anda menghadapi masalah ini dengan macOS Catalina , saya merekomendasikan langkah-langkah ini:

  1. Instal Homebrew (jika Anda belum melakukannya): buka brew.sh atau cukup jalankan perintah ini:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Lari brew install [email protected]

  3. Perbarui variabel $ PATH Anda untuk menyertakan versi php yang baru diinstal:

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc

echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc

  1. Muat ulang skrip preferensi shell Anda $ source ~/.zshrcatausource ~/.bashrc

  2. Terakhir, instal laravel: composer global require laravel/installer

Marcos Curvello
sumber
1
Sebelum langkah 4, buka jendela terminal baru, jika tidak, $ PATH baru tidak akan tersedia.
pengguna1771561
Pertanyaannya menanyakan tentang Ubuntu, bukan Mac.
Martijn Pieters
4

Karena Ubuntu 16.04, saya telah menggunakan perintah ini untuk PHP7.2dan itu berhasil untuk saya.

sudo apt-get install php7.2-zip
Amit Khanna
sumber
4

Centos 7 dengan PHP7.2:

sudo yum --enablerepo=remi-php72 install php-pecl-zip
Amirul
sumber
Pertanyaannya menanyakan tentang Ubuntu, bukan 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
borodatych.dll
sumber
1
Harap tambahkan beberapa komentar untuk menjelaskan bagaimana kode Anda menjawab pertanyaan untuk meningkatkan jawaban ini.
Eric Hauenstein
2

Untuk PHP 7.2 di Ubuntu 18.04 LTS

sudo apt-get install php7.2-zip

Bekerja seperti pesona

Ian Samz
sumber
2

untuk mengetahui versi php Anda

php -v 

untuk php 7.3.0

sudo apt-get install php7.3-zip
mohamed elshazly
sumber
Saya mendapatkan kesalahan ini E: Tidak dapat menemukan paket php7.3-zip E: Tidak dapat menemukan paket apa pun dengan glob 'php7.3-zip' E: Tidak dapat menemukan paket apa pun dengan regex 'php7.3-zip '
mak
1

Untuk Mac dengan Macports,

# port install php71-zip
Toby
sumber
Pertanyaannya menanyakan tentang Ubuntu, bukan Mac.
Martijn Pieters
1

Saya menggunakan WSL dengan ubuntu 16.04 LTS versi dengan php 7.3 dan laravel 5.7

sudo apt-get install php7.3-zip

Bekerja untuk saya

Fil
sumber
1

ekstensi zip tidak ada , Anda dapat menghindari kesalahan ini dengan menjalankan perintah di bawah ini, Ini akan mengambil versi secara default

sudo apt-get install php-zip

Jika Anda memerlukan versi tertentu, Anda perlu menyebutkan versi tertentu dari php Anda, Misalkan saya perlu menginstal Xversi php-zip maka perintahnya adalah.

sudo apt-get install phpX-zip  

Ganti Xdengan versi yang Anda butuhkan, Dalam kasus saya, itu X = 7.3

Ankur Tiwari
sumber
1

Untuk pengguna macOs, Anda dapat menggunakan Homebrew sebagai gantinya:

# 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
Hosny Ben
sumber
Harap tambahkan beberapa penjelasan lebih lanjut ke jawaban Anda - bagaimana daftar perintah ini menyelesaikan masalah yang diberikan?
Nico Haase