Comment dire si homebrew est installé sur Mac OS X

je fais de la programmation sur Rails et je vois régulièrement Homebrew référencé dans des solutions autour du web mais je ne l'ai jamais utilisé.

je remarque aussi Homebrew dans la version de terminal 2.9 comme une option à côté de "Shell - > nouveau" de la chute de terminal mais quand je sélectionne homebrew et les commandes d'émission, ils échouent.

généralement avec l'erreur "commande non trouvée".

étrangement, je n'ai pas pu trouver une simple commande pour déterminer si brew est installé ou pas.

Comment puis-je vérifier si Homebrew est déjà installé sur mon Mac?

42
demandé sur IanEdington 2014-02-05 16:57:42

8 réponses

brew help. Si brew est là, vous obtenez la sortie. Dans le cas contraire, vous obtiendrez la commande "not found". Si vous avez besoin de vérifier dans un script, vous pouvez travailler sur la façon de rediriger la sortie et vérifier $?.

45
répondu bmargulies 2014-02-05 13:01:05

Le standard moyen de déterminer si quelque chose est installé est d'utiliser which.

si Brew est installé.

>>> which brew
/usr/local/bin/brew

si Brew n'est pas installé.

>>> which brew
brew not found

Note: le message" not installed " dépend de votre interpréteur de commandes. zsh est indiqué ci-dessus. bash sera tout simplement pas imprimer quoi que ce soit. csh dire brew: Command not found. dans le cas" installé", tous les shells imprimeront le chemin.)

Il fonctionne avec tous les programmes en ligne de commande. Essayez which grep ou which python. Comme il vous indique le programme que vous exécutez, il est utile lors du débogage ainsi.

35
répondu Liyan Chang 2017-03-11 23:12:34

je l'utilise pour exécuter une mise à jour ou d'installer:

which -s brew
if [[ $? != 0 ]] ; then
    # Install Homebrew
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
    brew update
fi
31
répondu star18bit 2017-08-02 06:47:19

je tape juste brew-v dans le terminal si vous l'avez il répondra avec le numéro de version installé.

4
répondu TravisP 2016-03-24 02:27:21

which est la façon la plus courante de vérifier si un programme est installé, il va vous dire un programme est installé, SEULEMENT si c'est dans le $PATH. Donc, si votre programme est installé, mais le $PATH n'était pas mis à jour pour quelque raison que ce soit*, which vous dira que le programme n'est pas installé.

(*Un exemple de scénario est en train de changer de Bash pour Zshell et ~/.zshrc ne pas avoir les vieux $PATH~/.bash_profile)

command -v foo est une meilleure alternative à which foo. command -v brew sortie rien si Homebrew n'est pas installé

command -v brew

voici un exemple de script pour vérifier si Bash est installé, l'installer s'il ne l'est pas, le mettre à jour s'il l'est.

if [[ $(command -v brew) == "" ]]; then
    echo "Installing Hombrew"
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
    echo "Updating Homebrew"
    brew update
fi
4
répondu Aamnah 2017-10-29 08:50:02

brew doctor vérifie si Homebrew est installé et fonctionne correctement.

1
répondu Thomas David Kehoe 2018-08-02 18:52:28
[ ! -f "`which brew`" ] && echo "not installed"

Explication: Si la bière n'est pas installée, exécutez la commande après &&

0
répondu bits 2016-05-30 16:48:17

une Autre méthode possible:

# Check if Ninja is installed
if ! which ninja > /dev/null
then
echo 'Ninja installation...'
brew install ninja
fi
0
répondu Yulia 2017-11-20 13:44:11