私はいくつかのRailsプログラミングを行っており、HomebrewがWeb上のソリューションで常に参照されているのを見たことがありますが、使用したことはありません。
また、ターミナルドロップダウンの[シェル->新規]の横にあるオプションとして、ターミナルバージョン2.9のHomebrewに気付きますが、homebrewを選択してコマンドを発行すると失敗します。
通常、「コマンドが見つかりません」エラーが発生します。
奇妙なことに、私はbrewがインストールされているかどうかを判断する簡単なコマンドを見つけることができませんでした。
Homebrewが既にMacにインストールされているかどうかを確認するにはどうすればよいですか?
brew help
。 brewがある場合、出力が得られます。そうでない場合は、「コマンドが見つかりません」と表示されます。スクリプトをチェックインする必要がある場合は、出力をリダイレクトして$?
をチェックする方法を見つけることができます。
これを使用して、更新またはインストールを実行します。
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
を使用することです。
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
は、プログラムがインストールされているかどうかを確認する最も一般的な方法ですが、プログラムが$PATH
にある場合にのみインストールされることを通知します。したがって、プログラムはインストールされているが、何らかの理由で$PATH
が更新されなかった場合*、which
はプログラムがインストールされていないことを通知します。
(* 1つのシナリオ例は、BashからZshellに変更し、~/.zshrc
が$PATH
からの古い~/.bash_profile
を持たないことです)
command -v foo
はwhich foo
のより良い代替手段です。 Homebrewがインストールされていない場合、command -v brew
は何も出力しません
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と入力するだけで、インストールされているバージョン番号で応答します。
which
またはtype
組み込みツールのいずれかを使用します。
すなわち:which brew
またはtype brew
[ ! -f "`which brew`" ] && echo "not installed"
説明:brewがインストールされていない場合、&&
の後にコマンドを実行します
brew doctor
は、Homebrewがインストールされ、正常に動作しているかどうかを確認します。
Homebrewをインストールしたら、コマンドbrew doctorをターミナルに入力します。
次のメッセージが表示される場合:
システムを作成する準備ができました
これで準備完了です。homebrewが正常にインストールされました。
警告が表示された場合は、修正してみてください。
別の可能な方法:
# Check if Ninja is installed
if ! which ninja > /dev/null
then
echo 'Ninja installation...'
brew install ninja
fi