Komposer memiliki opsi untuk memuat beberapa dependensi hanya saat sedang dalam pengembangan, sehingga alat tidak akan diinstal dalam produksi (pada server langsung). Ini (secara teori) sangat berguna untuk skrip yang hanya masuk akal dalam pengembangan, seperti tes, alat data palsu, debugger, dll.
Cara untuk pergi adalah menambahkan require-devblok tambahan dengan alat yang Anda butuhkan di dev:
"require-dev": {
"codeception/codeception": "1.6.0.3"
}
dan kemudian (secara teoritis) memuat dependensi ini melalui
composer install --dev
Masalah & pertanyaan:
Komposer telah mengubah perilaku installdan updatesecara dramatis pada tahun 2013, require-dev-dependensi sekarang diinstal secara default (!), Jangan ragu untuk membuat komposer. Json dengan require-devblok dan melakukan composer installmereproduksi.
Sebagai cara yang paling diterima untuk menyebarkan adalah dengan mendorong komposer. mengunci (yang menahan pengaturan komposer Anda saat ini) dan kemudian melakukan composer installpada server produksi, ini juga akan menginstal hal pengembangan.
Apa cara yang benar untuk menggunakan ini tanpa menginstal dependensi -ev?
Catatan: Saya mencoba membuat Tanya Jawab kan di sini untuk memperjelas penyebaran Komposer yang aneh. Jangan ragu untuk mengedit pertanyaan ini.
composer.locktidak boleh ditambahkan ke repo Git, tidak pernah. Pendekatan yang tepat adalah dengan menggunakan pembaruan komposer pada pementasan dan kemudian menyinkronkan file menjadi produksi (jika semuanya berfungsi, tentu saja). Pementasan harus merupakan salinan tepat dari lingkungan produksi. composer.lockharus menjadi bagian dari .gitignore.