26 votes

Comment puis-je installer tous les paquets Brew listés dans un fichier texte ?

Est-ce que Homebrew offre quelque chose de similaire à pip ? pip install -r requirements.txt fonction ? J'ai un nouveau MacBook Pro qui arrive aujourd'hui, donc l'une des premières tâches sera de migrer mes installations Brew. J'ai déjà effectué un brew list > brew.txt commande. Pourrai-je l'utiliser pour installer tous les paquets qu'il énumère en une seule commande sur la nouvelle machine ?

43voto

grg Points 181593
xargs brew install < brew.txt

Il n'est pas nécessaire de cat le fichier (voir Prix de l'utilisation inutile du chat ) et xargs au lieu d'une boucle for pour éviter les IFS.

3 votes

C'est actuellement la meilleure réponse car elle ne nécessite pas l'installation de librairies supplémentaires pour être utilisée.

24voto

MERM Points 631

Vous pouvez faire brew leaves > my_brews.txt et ensuite, sur la nouvelle machine, faites for i in $(cat brew_leaves); do; brew install "$i"; done . Vous pouvez utiliser des sauts de ligne là où il y a des points-virgules ci-dessus. [assumant bash]

9 votes

Serait-ce brew install $(cat my_brews.txt) ne peut pas accomplir la même chose en une seule invocation de la fonction brew sans avoir besoin d'un for boucle ?

0 votes

Je pense que les retours à la ligne dans mon_brews.txt vous perturberaient. Avez-vous essayé ceci ?

1 votes

Oui, ça marche dans les deux sens pour moi. Bash analyse les résultats de la $(cat ) l'expansion des paramètres et ensuite utilise l'un ou l'autre des caractères espace, nouvelle ligne et tabulation pour séparer les mots. comme s'ils étaient tous identiques (à moins que vous n'ayez défini une valeur bizarre pour le paramètre IFS Dans ce cas, l'une ou l'autre des approches échouerait).

15voto

Chuck Points 1620

MERM a fourni une réponse fonctionnelle, mais d'autres peuvent être intéressés par une solution qui, bien que non incluse dans Homebrew, est publiée par les mêmes personnes. Paquet Homebrew est un paquet de brassage conçu à cet effet, qui gère également les fûts et, je pense, les applications du Mac App Store (avec le paquet mas paquet).

8 votes

En complément, vous pouvez utiliser brew bundle dump pour créer un fichier de tout ce que vous avez installé actuellement, transférez le fichier de sortie sur un autre ordinateur, et exécutez brew bundle pour tout installer.

1 votes

Ce commentaire devrait être la réponse : brew bundle dump y brew bundle sont juste ce dont j'avais besoin !

1 votes

Je suis d'accord pour dire que le bundle de brassage est maintenant la voie à suivre. Je suis moi-même passé à cette méthode.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X