2014-04-07 16 views
75

Ai đó có thể giải thích cho tôi sự khác biệt giữa NPM, BowerComposer.NPM/Bower/Composer - sự khác biệt?

Họ là tất cả người quản lý gói - đúng không?

Nhưng khi nào mỗi người nên được sử dụng?

Ngoài ra, mỗi người có một tệp json đi kèm với nó, điều này có lưu trữ tất cả các gói bạn yêu cầu để chúng có thể được cài đặt bằng dòng cmd không? Tại sao bạn cần tệp này?

Trả lời

160

npm là trình quản lý gói nodejs. Do đó, nó nhắm vào 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 (bower chính nó là một gói npm). Nếu bạn định làm gì với nodejs, thì bạn sẽ dùng npm.

bower là 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 có nghĩa là đặc biệt cho các nodej, mà là cho môi trường "trình duyệt".

composer là người quản lý phụ thuộc nhắm mục tiêu dự án php. Nếu bạn đang làm một cái gì đó với symfony (hoặc đồng bằng php cũ), đây có thể là con đường để đi

Tóm tắt:

  • làm nút? bạn làm npm
  • làm php? thử soạn nhạc
  • javascript mặt trước? hãy thử bower

Và có, tệp "json" mô tả thông tin gói cơ bản và phụ thuộc. Và có, họ là cần thiết.

Bây giờ, điều gì về README? :-)

+5

Còn về ứng dụng php + frontent thì sao? Lựa chọn tốt nhất là gì? – sompylasar

+14

Phụ thuộc vào nơi bạn vẽ đường kẻ. Là MVC của bạn trong js (và php của bạn được giảm xuống WS)? Sau đó, có thể sử dụng bower. Là MVC của bạn trong php (nói, symfony), và bạn có một loạt các js nối vào quan điểm phía máy chủ của bạn? Sau đó, nhà soạn nhạc có thể là lựa chọn tốt nhất của bạn. –

+0

@MangledDeutz để bạn có thể sử dụng nhà soạn nhạc để quản lý thư viện javascript? – PhoneixS

0

NPM - quản lý trọn gói cho nodejs. Đó là đăng ký phần mềm lớn nhất thế giới. Các nhà phát triển mã nguồn mở từ mọi châu lục sử dụng npm để chia sẻ và mượn các gói. Các gói được cấu trúc để cho phép bạn theo dõi các phụ thuộc và các phiên bản.

Bower - Trình quản lý gói cho các dự án web mặt trước. Bower có thể quản lý các thành phần chứa HTML, CSS, JavaScript, phông chữ hoặc thậm chí cả tệp hình ảnh. Bower không nối hoặc mã giảm bớt hoặc làm bất cứ điều gì khác - nó chỉ cài đặt các phiên bản đúng các gói bạn cần và sự phụ thuộc của họ. Nó cũng là một gói npm. Vì vậy, nó có thể được cài đặt thông qua npm.

npm install bower 

Composer - Composer là một công cụ để quản lý sự phụ thuộc trong PHP. Nó không phải là một trình quản lý gói theo cùng nghĩa với Yum hoặc Apt. Nó đề cập đến các gói hoặc thư viện, nhưng nó quản lý chúng trên cơ sở từng dự án, cài đặt chúng trong một thư mục bên trong dự án của bạn. Theo mặc định, nó không cài đặt bất cứ thứ gì trên toàn cầu. Vì vậy, nó là một người quản lý phụ thuộc.

A Tale of Two Package Managers: Composer and NPM

Difference between Bower and NPM

Đây là an app rằng sẽ giúp phân biệt các nhà quản lý gói. Nó chứng tỏ làm thế nào một ứng dụng có thể tận dụng nhiều trình quản lý gói cùng một lúc.

Các vấn đề liên quan