npmadalah manajer paket nodejs. Oleh karena itu, ia menargetkan lingkungan nodejs, yang biasanya berarti proyek nodejs sisi server atau proyek baris perintah (bower itu sendiri adalah paket npm). Jika Anda akan melakukan sesuatu dengan nodejs, maka Anda akan menggunakan npm.
boweradalah manajer paket yang bertujuan untuk proyek web (front-end). Anda memerlukan npm dan nodejs untuk menginstal bower dan menjalankannya, meskipun paket bower tidak dimaksudkan secara khusus untuk nodejs, melainkan untuk lingkungan "browser".
composeradalah manajer ketergantungan yang menargetkan proyek php. Jika Anda melakukan sesuatu dengan symfony (atau php biasa), ini mungkin cara yang tepat
Kesimpulannya:
- melakukan node? Anda melakukan npm
- melakukan php? coba komposer
- javascript front-end? coba bower
Dan ya, file "json" menjelaskan informasi paket dasar dan dependensi. Dan ya, mereka dibutuhkan.
Sekarang, bagaimana dengan README? :-)
[perbarui, empat tahun kemudian]
bowertidak digunakan lagi, dan tidak boleh digunakan lagi untuk proyek baru. Untuk sebagian besar, ini telah dimasukkan ke dalam manajemen ketergantungan node (dari situs web mereka: "Meskipun Bower dipertahankan, kami merekomendasikan menggunakan Yarn dan Webpack atau Parcel untuk proyek front-end").
yarnkeluar dari kayu sebagai yang lebih baik npm(memperbaiki beberapa npmkekurangan), dan inilah yang harus Anda gunakan sekarang, karena ini adalah standar de-facto baru jika Anda melakukan pengembangan front-end atau node. Itu mengkonsumsi hal yang samapackage.json seperti npm, dan hampir seluruhnya kompatibel dengannya.
- Saya tidak akan menggunakannya
composerpada saat ini (karena saya tidak akan menggunakan php), meskipun tampaknya masih hidup dan populer