Ответ 1
brew help
. Если brew есть, вы получаете вывод. Если нет, вы получите команду "не найдена". Если вам нужно проверить script, вы можете решить, как перенаправить вывод и проверить $?
.
Я занимаюсь программированием Rails, и я постоянно вижу, что Homebrew упоминается в решениях в Интернете, но никогда не использовал его.
Я также заметил Homebrew в терминальной версии 2.9 как вариант рядом с "Shell → New" из выпадающего терминала, но когда я выбираю команды homebrew и команды, они терпят неудачу.
Обычно с ошибкой "команда не найдена".
Как ни странно, мне не удалось найти простую команду, чтобы определить, установлен ли brew.
Как проверить, установлен ли Homebrew на моем Mac?
brew help
. Если brew есть, вы получаете вывод. Если нет, вы получите команду "не найдена". Если вам нужно проверить script, вы можете решить, как перенаправить вывод и проверить $?
.
Стандартный способ выяснить, установлено ли что-то, это использовать which
.
Если установлен Brew.
>>> which brew
/usr/local/bin/brew
Если Brew не установлен.
>>> which brew
brew not found
Примечание. Сообщение "не установлено" зависит от вашей оболочки.
zsh
показано выше.bash
ничего не напечатает.csh
скажетbrew: Command not found.
В "установленном" случае все оболочки будут печатать путь.)
Он работает со всеми командами командной строки. Попробуйте which grep
или which python
. Поскольку он сообщает вам о запущенной вами программе, это также полезно при отладке.
Я использую это для выполнения обновления или установки:
which -s brew
if [[ $? != 0 ]] ; then
# Install Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
brew update
fi
В то время, which
является наиболее распространенным способом проверки, если установлена программа, она расскажет вам, программа устанавливается только если она в $PATH
. Таким образом, если ваша программа установлена, но $PATH
не был обновлен по какой-либо причине *, which
скажет вам, что программа не установлена.
(* Один пример сценария - переход с Bash на Zshell и ~/.zshrc
без старого $PATH
из ~/.bash_profile
)
command -v foo
- лучшая альтернатива which foo
. command -v brew
ничего не выдаст, если Homebrew не установлен
command -v brew
Вот пример сценария, чтобы проверить, установлен ли Homebrew, установите его, если нет, обновите, если он установлен.
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
Я просто набираю brew -v в терминале, если у вас есть он, он будет отвечать установленным номером версии.
Еще один возможный способ:
# Check if Ninja is installed
if ! which ninja > /dev/null
then
echo 'Ninja installation...'
brew install ninja
fi
brew doctor
проверяет, установлен ли Homebrew и работает ли он должным образом.
использовать или which
либо type
встроенных инструментов.
то есть: which brew
или type brew
[ ! -f "`which brew`" ] && echo "not installed"
Объяснение: Если brew не установлена команда запуска после &&
Как только вы установите Homebrew, введите команду brew doctor в терминале.
Если вы получите следующее сообщение:
Ваша система готова заваривать
тогда вам пора идти и вы успешно установили доморощенный.
Если вы получили какие-либо предупреждения, вы можете попробовать исправить это.