С практической точки зрения, являются ли они по существу синонимами? Или я что-то упускаю? Я использую Composer (PHP), CocoaPods (Objective-C) и Bundler (Rails). Я полагаю, что они называют себя менеджерами зависимостей, но можно ли их также рассматривать как менеджеров пакетов?
Разница между зависимостями и менеджерами пакетов?
Ответы (2)
Я бы сказал да. Учитывая, что сообщество javascript называет свою версию этих инструментов (NPM и Bower) «менеджеры пакетов», я думаю, что сообщество разработчиков, по сути, синонимизировало эти термины.
EDIT Я немного отступлю. В общем, я думаю, что термин package manager
связан с доставкой и установкой стороннего кода. Тем не менее, npm
правильно называется node package manager
. Насколько я понимаю, dependency manager
это совсем другое. Это инструмент оркестровки во время выполнения. Например, есть менеджеры зависимостей, которые просто запускаются в браузере для загрузки файлов ресурсов в правильном порядке (например, requireJS, browserify, carter и т. д. — или контейнер внедрения зависимостей, скажем, в Symfony2 или Laravel), но вы бы не стали этого делать. не звоните этим менеджерам пакетов. Менеджер пакетов может быть чем-то вроде dpkg
Debian или bower
сообщества узлов, который фактически загружает для вас сторонние библиотеки (которых в настоящее время нет в вашем программном пакете). Теперь, я думаю, застрявшие строки появляются, когда менеджеры пакетов решили быть достаточно умными, чтобы разрешить нам номера версий. Поскольку такие инструменты, как npm
, гарантируют, что каждая часть программного обеспечения, которую мы объявляем, имеет все правильные версии своих зависимостей (загружая для нас цепочку зависимостей), мы хотим назвать ее диспетчером зависимостей. Но я думаю, что правильнее сказать, что это менеджер пакетов, который выполняет разрешение версий. Однако на самом деле это скорее механизм доставки, чем инструмент времени выполнения.
Все, что сказать, я хотел бы услышать, что другие говорят об этом.
Нет, это не синонимы. Посмотрите на этот ответ для их разницы
https://stackoverflow.com/a/27290095/4016254