(Во-первых, этот вопрос не является вопросом "который лучше". Я просто хочу знать, как они похожи и отличаются перспективой функциональности.)
Я разработчик php и в настоящее время изучаю ruby .
В наши дни многим разработчикам php рекомендуется использовать Composer
для управления зависимостями. Прежде чем задавать вопросы, я хотел бы сначала подтвердить мои знания.
По моему мнению,
-
Composer
- это инструмент управления зависимостями для php-библиотек (или пакетов). -
Composer
установлена библиотека php на каждый проект (так называемый локально). Я имею в виду, что библиотека php, установленная для project1, не может быть повторно использована для проекта2 без установки для проекта2.
Я заметил, что Ruby также имеет очень хороший инструмент управления зависимостями RubyGems
".
По моим сведениям,
- "
RubyGems
" - это менеджер пакетов для "Gems". - "
Gem
" - это рубиновая программа или библиотека, упакованная в стандартный формат для совместного использования. (Rails - также жемчужина.) -
Gem
можно установить с помощью командыgem install sinatra
. - Но существует также так называемый "
Bundler
", который также является жемчужиной для связывания драгоценных камней для приложения. - При запуске команды
bundle install
(в определенном каталоге проекта ruby) все драгоценные камни, перечисленные в Gemfile, установлены для этого рубинового проекта.
Итак, мои вопросы здесь.
-
Composer
аналогиченRubyGems
илиBundler
? - При запуске
gem install sinatra
он установлен на уровне всей системы? - При запуске
bundle install
Gems устанавливаются локально (только для этого проекта) или общесистемного уровня? - Если мне нужны две версии одного
Gem
(например, синатра) для разных проектов, как мне обращаться?
(Извините за мой длинный вопрос. Если мое понимание - это что-то не так, извините еще раз и укажите правильный.)