NPM/Bower/Composer - различия?

Может кто-нибудь объяснить мне разницу между NPM, Bower и Composer.

Это все менеджеры пакетов - правильно?

Но когда нужно использовать каждый из них?

Кроме того, у каждого из них есть файл json, который сопровождает его, хранит ли он все необходимые вам пакеты, чтобы их можно было установить с помощью строки cmd? Зачем нужен этот файл?

Ответ 1

npm - диспетчер пакетов nodejs. Поэтому он нацелен на среды nodejs, которые обычно означают проекты nodejs на стороне сервера или проекты с командной строкой (сам bower - пакет npm). Если вы собираетесь что-то делать с nodejs, то вы собираетесь использовать npm.

bower - это менеджер пакетов, который нацелен на (front-end) веб-проекты. Вам нужно npm и nodejs для установки беседки и ее выполнения, хотя пакеты bower специально не предназначены для nodejs, а скорее для среды браузера.

composer - менеджер зависимостей, который нацелен на проекты php. Если вы делаете что-то с symfony (или простой старый php), это, вероятно, способ пойти

Подводя итог:

  • Выполнение node? вы делаете npm
  • делать php? попробуйте композитор
  • front-end javascript? попробуйте беседку

И да, файлы "json" описывают базовую информацию о пакете и зависимости. И да, они нужны.

Теперь, как насчет README?: -)