npm
to menedżer pakietów nodejs. Dlatego jest skierowany do środowisk nodejs, co zwykle oznacza projekty nodejs po stronie serwera lub projekty wiersza poleceń (sam bower jest pakietem npm). Jeśli masz zamiar robić cokolwiek z nodejs, to użyjesz npm.
bower
jest menedżerem pakietów, którego celem są (front-end) projekty internetowe. Potrzebujesz npm i nodejs, aby zainstalować bower i go uruchomić, chociaż pakiety bower nie są przeznaczone specjalnie dla nodejs, ale raczej dla środowiska "przeglądarki".
composer
to menedżer zależności, który jest przeznaczony dla projektów php. Jeśli robisz coś z symfony (lub zwykłym starym php), prawdopodobnie jest to dobry sposób
Podsumowując:
- robi węzeł? robisz npm
- robisz php? spróbuj kompozytora
- front-end javascript? spróbuj altany
I tak, pliki „json” opisują podstawowe informacje o pakiecie i zależności. I tak, są potrzebne.
A co z README? :-)
[aktualizacja, cztery lata później]
bower
jest przestarzały i nie powinien być już używany w nowych projektach. W dużej mierze został on podporządkowany zarządzaniu zależnościami węzłów (z ich strony internetowej: „Podczas gdy Bower jest utrzymywany, zalecamy używanie Yarn i Webpack lub Parcel w projektach front-end”).
yarn
wyszedł z drewna jako lepszy npm
(naprawienie kilku npm
błędów) i naprawdę powinieneś teraz użyć tego, ponieważ jest to nowy de facto standard, jeśli tworzysz front-end lub node. Zużywa to samo package.json
co npm i jest z nim prawie całkowicie kompatybilny.
- Nie używałbym
composer
w tym momencie (bo bym nie używał php
), chociaż wydaje się, że wciąż jest żywy i popularny