npm
adalah 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.
bower
adalah 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".
composer
adalah 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]
bower
tidak 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").
yarn
keluar dari kayu sebagai yang lebih baik npm
(memperbaiki beberapa npm
kekurangan), 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
composer
pada saat ini (karena saya tidak akan menggunakan php
), meskipun tampaknya masih hidup dan populer