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

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

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

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

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

2 ответов


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

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

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

итого:

  • делаешь узел? вы НПМ
  • делать php? попробуйте композитор
  • интерфейсный javascript? попробуйте bower

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

Теперь, что насчет READMEs? :-)


НПМ – менеджер пакетов для nodejs. Это крупнейший в мире реестр программного обеспечения. Разработчики с открытым исходным кодом со всех континентов используют npm для обмена и заимствования пакетов. Пакеты структурированы так, чтобы вы могли отслеживать зависимости и версии.

беседке – диспетчер пакетов для интерфейсных веб-проектов. Bower может управлять компонентами, которые содержат HTML, CSS, JavaScript, шрифты или даже файлы изображений. Bower не сцепить или сократите код или сделать что-нибудь еще - он просто устанавливает правой версии пакетов и их зависимостей. Это также пакет npm. Таким образом, он может быть установлен через npm.

  npm install bower

композитор – Composer-это инструмент для управления зависимостями в PHP. Это не менеджер пакетов в том же смысле, что и Yum или Apt. Он имеет дело с пакетами или библиотеками, но управляет ими на основе каждого проекта, устанавливая их в каталог внутри вашего проекта. По умолчанию не устанавливает ничего глобально. Таким образом, это менеджер зависимостей.

история двух менеджеров пакетов: Composer и NPM

разница между Bower и NPM

здесь приложение это поможет дифференцировать этих менеджеров пакетов. Он демонстрирует, как приложение может использовать несколько менеджеров пакетов одновременно.