npm
là trình quản lý gói nodejs. Do đó, nó nhắm mục tiêu đến các môi trường nodejs, thường có nghĩa là các dự án nodejs phía máy chủ hoặc các dự án dòng lệnh (bản thân bower là một gói npm). Nếu bạn định làm bất cứ điều gì với nodejs, thì bạn sẽ sử dụng npm.
bower
là một trình quản lý gói nhằm vào các dự án web (front-end). Bạn cần npm và nodejs để cài đặt bower và thực thi nó, mặc dù các gói bower không dành riêng cho nodejs mà là dành cho môi trường "browser".
composer
là một trình quản lý phụ thuộc nhắm mục tiêu các dự án php. Nếu bạn đang làm gì đó với symfony (hoặc php cũ), đây có thể là cách để
Tóm lại:
- làm nút? bạn làm lúc npm
- làm php? thử nhà soạn nhạc
- javascript đầu cuối? thử bower
Và có, các tệp "json" mô tả thông tin gói cơ bản và các phụ thuộc. Và có, chúng là cần thiết.
Bây giờ, những gì về READMEs? :-)
[cập nhật, bốn năm sau]
bower
không được dùng nữa và sẽ không được sử dụng nữa cho các dự án mới. Ở một mức độ lớn, nó đã được gộp chung vào quản lý phụ thuộc vào nút (từ trang web của họ: "Trong khi Bower được duy trì, chúng tôi khuyên bạn nên sử dụng Yarn và Webpack hoặc Parcel cho các dự án front-end").
yarn
ra đời như một sản phẩm tốt hơn npm
(sửa một số npm
lỗi) và đây thực sự là những gì bạn nên sử dụng ngay bây giờ, vì nó là tiêu chuẩn de-facto mới nếu bạn đang phát triển front-end hoặc node. Nó tiêu thụ giống package.json
như npm và gần như hoàn toàn tương thích với nó.
- Tôi sẽ không sử dụng
composer
vào thời điểm này (vì tôi sẽ không sử dụng php
), mặc dù nó có vẻ vẫn còn tồn tại và phổ biến