Apa yang Anda lewatkan sedang berjalan composer install
, yang akan mengimpor paket Anda dan membuat folder vendor, bersama dengan skrip muat otomatis.
Pastikan jalur relatif Anda benar. Misalnya, contoh skrip di PHPMailer berada examples/
, di bawah akar proyek, jadi jalur relatif yang benar untuk memuat pemuat otomatis komposer dari sana adalah../vendor/autoload.php
.
Autoload.php yang Anda temukan C:\Windows\SysWOW64\vendor\autoload.php
mungkin adalah instalasi komposer global - di mana Anda biasanya akan meletakkan hal-hal seperti phpcs, phpunit, phpmd dll.
composer update
adalah tidak hal yang sama, dan mungkin tidak apa yang ingin Anda gunakan. Jika kode Anda diuji dengan versi paket Anda saat ini, menjalankan update
dapat menyebabkan kerusakan yang mungkin memerlukan pekerjaan dan pengujian lebih lanjut, jadi jangan jalankan update
kecuali Anda memiliki alasan khusus dan memahami dengan tepat apa artinya. Untuk memperjelas lebih lanjut - Anda mungkin hanya boleh berlaricomposer update
secara lokal, tidak pernah di server Anda karena kemungkinan besar akan merusak aplikasi dalam produksi.
Saya sering melihat keluhan bahwa orang-orang tidak dapat menggunakan komposer karena mereka tidak dapat menjalankannya di server mereka (misalnya karena itu dibagikan dan mereka tidak memiliki akses shell). Dalam hal ini, Anda bisa masih menggunakan komposer: jalankan secara lokal (lingkungan yang tidak memiliki batasan seperti itu), dan unggah folder vendor lokal yang dibuatnya bersama dengan semua skrip PHP Anda yang lain.
Menjalankan composer update
juga melakukan a composer install
, dan jika Anda saat ini tidak memiliki vendor
folder (yaitu Anda memiliki checkout baru untuk suatu proyek), maka composer install
secara efektif melakukan a composer update
, tetapi masih penting untuk memahami perbedaan antara keduanya karena jelas tidak dapat saling dipertukarkan.
Perhatikan bahwa dimungkinkan juga untuk memperbarui satu paket dengan menamainya, misalnya:
composer update ramsey/uuid
Ini akan menyelesaikan kembali versi yang ditentukan di Anda composer.json
dan menginstalnya di folder vendor Anda, dan memperbarui composer.lock
file Anda agar sesuai. Ini jauh lebih kecil kemungkinannya untuk menimbulkan masalah daripada seorang jenderalcomposer update
jika Anda hanya memerlukan pembaruan khusus untuk satu paket.
Composer 2.0 (segera keluar) harus menghapus ketidakkonsistenan yang tersisa antara hasil instalasi dan pembaruan.