npm
є менеджером пакунків nodejs. Тому він орієнтований на середовища nodejs, що зазвичай означає проекти nodejs на стороні сервера або проекти командного рядка (bower сам є пакетом npm). Якщо ви збираєтеся робити що-небудь з nodejs, тоді ви збираєтеся використовувати npm.
bower
є менеджером пакетів, який спрямований на (передній) веб-проекти. Вам потрібні npm та nodejs, щоб встановити bower та виконати його, хоча пакети bower призначені не для nodejs, а для середовища "браузера".
composer
є менеджером залежності, який націлений на PHP-проекти. Якщо ви щось робите з symfony (або звичайним старим php), це, ймовірно, шлях
Підсумовуючи це:
- робити вузол? ви робите npm
- робити php? спробуйте композитор
- фронтальний javascript? спробуйте бауер
І так, файли "json" описують основну інформацію про пакунки та залежності. І так, вони потрібні.
Тепер, що з README? :-)
[оновлення, через чотири роки]
bower
застаріла і більше не повинна використовуватися для нових проектів. Значною мірою він був підпорядкований управлінню залежностей від вузлів (з їх веб-сайту: "Поки Bower підтримується, ми рекомендуємо використовувати пряжу та веб-пакет або посилку для передових проектів").
yarn
Вийшло з дерева як краще npm
(виправлення декількох npm
недоліків), і це дійсно те, що вам слід використовувати зараз, оскільки це новий стандарт де-факто, якщо ви займаєтеся розробкою переднього або вузла. Він споживає те саме package.json
, що і npm, і майже повністю сумісний з ним.
- Я б не користувався
composer
на даний момент (тому що я б не користувався php
), хоча, здається, він все ще живий і популярний