Does Homebrew offer anything similar to pip's pip install -r requirements.txt
feature? I have a new MacBook Pro arriving today, so one of the first tasks will be to migrate my brew installations. I've already performed a brew list > brew.txt
command. Will I be able to use this to install all the packages it lists in one command on the new machine?
3 Answers
You can do brew leaves > my_brews.txt
and then on the new machine do
for i in $(cat brew_leaves); do; brew install "$i"; done
. You can use newlines where there are semicolons above. [assuming bash]
-
9Would
brew install $(cat my_brews.txt)
not accomplish the same in one single invocation ofbrew
, without the need of afor
loop?– SynoliApr 8, 2017 at 16:36 -
I think the newlines in my_brews.txt would mess you up. Have you tried this?– MERMApr 8, 2017 at 16:39
-
1Yes, works either way for me. Bash scans the results of the
$(cat
…)
parameter expansion and then uses either of the space, newline, and tab characters to split words as if they were all the same (unless you have set some weird value forIFS
, in which case either approach would fail).– SynoliApr 8, 2017 at 16:52 -
while read formula; do brew install "$formula"; done < my_brews.txt
avoids the useless use of cat.– nohillside ♦Apr 11 at 9:38
brew leaves > my_brew.txt
xargs brew install < my_brew.txt
Use xargs instead of a for loop to avoid IFS.
-
1Currently the best answer bc it doesn't require any additional libs being installed to use. Apr 23, 2019 at 22:42
MERM provided a working answer, but others may be interested in a solution that, while not included with Homebrew, is published by the same people. Homebrew bundle is a brew package that is designed for this purpose, also handling casks and, I think, Mac App Store apps (with the mas package).
-
6Just an addition to this, you can use
brew bundle dump
to create a file of everything that you have installed currently, transfer the output file to another computer, and runbrew bundle
to install everything. Apr 8, 2017 at 22:13 -
This comment should be the answer:
brew bundle dump
andbrew bundle
are just what I needed! Apr 10, 2018 at 9:52 -
I concur that brew bundle is now the way to go. I switched to this method myself.– MERMApr 24, 2020 at 2:22