Для управления зависимостями в проектах на Ruby мы используем Bundler. Он позволяет с легкостью устанавливать в проект необходимые нам библиотеки, вместе со всеми зависимостями.
Но что делать с внешними зависимостями проекта, такими как Redis или Node.js?
Ситуация усугубляется, когда тебя подключают к новому проекту с большим багажом таких зависимостей. И вместо того, чтобы разбираться в проекте, ты тратишь целый день на установку всего этого зоопарка.
Homebrew Bundle
Для решения этой проблемы можно воспользоваться Homebrew Bundle. Он позволяет управлять внешними зависимостями проекта так же, как и Bundler внутренними, с помощью специального файла - Brewfile.
Итак, приступим. Устанавливаем Homebrew Bundle:
Теперь необходимо создать Brewfile в корне проекта и добавить туда все необходимые зависимости. Это можно сделать вручную или запустить команду brew bundle dump, которая создаст файл со всеми установленными пакетами из Homebrew, например:
Запускаем команду brew bundle, чтобы установить или обновить все зависимости.
На этом можно было закончить, но что делать, если в команде есть разработчики на Linux? У них ведь нет Homebrew.
Linuxbrew
Homebrew - нет, но есть аналог - Linuxbrew. Он абсолютно так же работает, как и Homebrew на macOS.
Для его использования потребуется установить несколько дополнительных пакетов в свой дистрибутив:
Далее устанавливаем Linuxbrew:
Затем добавляем пути в ~/.zshrc:
Перезапускаем zsh:
И всё, теперь можно перейти в проект и выполнить команду brew bundle. Все необходимые зависимости для вашего проекта будут установлены.