Как я могу установить все пакеты brew, перечисленные в текстовом файле?


8

Предлагает ли Homebrew что-то похожее на pip install -r requirements.txtфункцию pip ? Сегодня у меня новый MacBook Pro, поэтому одной из первых задач будет перенастроить мои установки brew. Я уже выполнил brew list > brew.txtкоманду. Смогу ли я использовать это для установки всех пакетов, перечисленных в нем, одной командой на новую машину?

Ответы:


11

Можно brew leaves > my_brews.txtи дальше на новой машине делать for i in $(cat brew_leaves); do; brew install "$i"; done. Вы можете использовать переводы строк, где есть точки с запятой выше. [предполагая Баш]


1
В листьях brew будут перечислены только те пакеты, которые вы добавили, а не другие, внесенные в качестве зависимостей
MERM

2
Не brew install $(cat my_brews.txt)удалось бы сделать то же самое в одном вызове brewбез необходимости forцикла?
Синоли,

Я думаю, что переводы строк в my_brews.txt могут вас испортить. Вы пробовали это?
MERM

1
Да, работает в любом случае для меня. Bash сканирует результаты раскрытия параметра $(cat)и затем использует символы пробела, новой строки и табуляции для разделения слов, как если бы они были одинаковыми (если только вы не установили какое-то странное значение IFS, в этом случае любой из подходов потерпит неудачу) ,
Синоли,


11

MERM предоставил рабочий ответ, но другие могут быть заинтересованы в решении, которое, хотя и не входит в Homebrew, публикуется теми же людьми. Homebrew bundle - это пакет brew, предназначенный для этой цели, который также обрабатывает бочки и, как мне кажется, приложения Mac App Store (с пакетом mas ).


5
В дополнение к этому вы можете использовать brew bundle dumpдля создания файла все, что вы установили в настоящее время, перенести файл вывода на другой компьютер и запустить, brew bundleчтобы установить все.
MPLewis

Этот комментарий должен быть ответом: brew bundle dumpи brew bundleэто именно то, что мне нужно!
Сильванский
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.