Ketika saya menjalankan composer update
saya mendapatkan pesan kesalahan ini:
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
Apa yang harus saya lakukan untuk mengaktifkan perintah zip dan unzip sehingga komposer dapat mengunduh dependensi?
php
composer-php
b85411
sumber
sumber
composer update --prefer-source
Saya memiliki masalah ini ketika mencoba untukcomposer update
phpspec.Failed to download symfony/polyfill-ctype from dist: The zip extension and unzip command are both missing, skipping.
Saya menggunakan Mac dan memiliki masalah dalam membuat Homebrew bekerja untuk menginstal ekstensi php. Jadi, perbaikan cepat saya adalah untuk memaksacomposer
tidak perlu menggunakan zip dengan menambahkan opsi --prefer-source. Ini berarti mengunduh repo daripada paket zip. Bukan solusi jangka panjang tapi berguna untuk diketahui.Jawaban:
Tergantung pada rasa versi Linux dan PHP Anda, ini dapat bervariasi.
Ini adalah pertanyaan yang sangat umum ditanyakan, Anda akan dapat menemukan informasi yang lebih berguna di ether dengan mencari
<distro> php <version> zip extension
.sumber
apt-get install php-zip
sudah cukupphp[version]-package
vsphp-package
untuk paket yang diberikan? Ingin tahu karena saya biasanya hanya pergi denganphp[version]-package
versi, tapi mungkin itu tidak optimal ...php-<package>
adalah versi default. Paket-paket ini hanya tergantung pada versi terbaru. Jika Anda memerlukan versi tertentu (biasanya lebih lama), Anda menginstalphp<version>-<package>
.# yum install zip unzip php7.2-zip
(pada CentOS 7)Untuk server dengan PHP 5.6
sumber
Untuk Debian Jessie (yang merupakan default saat ini untuk gambar PHP di Docker Hub):
Anda dapat menghilangkan --ya, tetapi berguna saat Anda menjalankannya di Dockerfile.
sumber
php-zip
: DUntuk distro Ubuntu yang lebih lama yaitu 16.04, 14.04, 12.04 dll
sumber
Saya punya PHP7.2 di server Ubuntu 16.04 dan itu memecahkan masalah saya:
sudo apt-get install zip unzip php-zip
Memperbarui
Mencoba ini untuk Ubuntu 18.04 dan bekerja dengan baik.
sumber
Saya Menggunakan Ubuntu dan dengan perintah berikut berfungsi
apt-get install --yes zip unzip
sumber
Bukan untuk memperjelas titik, tetapi jika Anda bekerja di
Dockerfile
, Anda akan menyelesaikan masalah khusus ini dengan Komposer dengan menginstalunzip
utilitas. Di bawah ini adalah contoh menggunakan gambar PHP resmi untuk menginstalunzip
danzip
ekstensi PHP untuk ukuran yang baik.Ini adalah masalah GitHub yang membantu di mana hal di atas diangkat dengan penuh cinta.
sumber
Jika Anda menggunakan Ubuntu dan PHP 7.2 , gunakan ini ...
sumber
Saya mendapatkan kesalahan ini ketika saya menginstal Laravel 5.5 pada server cloud digitalocean saya (Ubuntu 18.04 dan PHP 7.2) dan perintah berikut memperbaikinya.
sumber
Pada buruh pelabuhan dengan gambar
php:7.2-apache
saya hanya perlu zip dan unzip. Tidak perlu untuk php-zip:apt-get install zip unzip
atau Dockerfile
sumber
Sebenarnya komposer saat ini tampaknya bekerja tanpa
zip
perintah baris perintah, jadi menginstalphp-zip
harus cukup --- TAPI itu akan menampilkan peringatan:Lihat juga Apakah ada masalah dengan menggunakan php-zip (komposer memperingatkan tentang hal itu)
sumber