【Amazon】ブラックフライデー:11/29〜12/6

【初心者向け】brewのインストールと使い方(brewを理解する)

12 min

こんにちは。ナミレリです。Macの初期設定が済みターミナルの使い方も少しわかったところでMacをずっと使う動機の1つでもあるbrewについて紹介します。

この記事はこんな人にオススメ

  • Macをもっともっと使いこなしたい
  • ターミナルもゴリゴリ使いこなしたい
  • Macでプログラミング環境を構築したい
  • 便利なソフトを簡単にインストールしたい

Macの初期設定がまだ完了していない方は下記の記事をぜひご覧ください。

ターミナルの使い方に関しては下記の記事をぜひご覧ください。

この記事でわかること

  • brewコマンドの基本的な使い方
  • brew覚えておくべき用語
  • brewコマンドでよく使うオプション

この記事のMac環境
  • MacBook Pro 14インチ M1Max
  • macOS Monterey 12.2.1
  • ターミナル バージョン2.12(443)
Parallels Desktop 20 for Macの無料トライアル もありますので、ぜひダウンロードして試してみてください。M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。
NEW Parallels Desktop 20 for Mac

Parallels Desktop 20 for Macは、M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。

14日間の無料トライアルもありますので、ぜひダウンロードして試してみてください。

そもそもbrewってなに?

brewについてWikipediaに以下の記載があります。

Homebrew(ホームブルー、ホームブリュー)は、macOS、Linux、Windows Subsystem for Linuxで動作するパッケージ管理システムのひとつである。同じくmacOSのためのMacPortsやFinkと同様の目的と機能を備え、利用が広がりつつある。LinuxのDebianのAPTに似た使用感である。Max Howellによって開発された。

https://ja.wikipedia.org/wiki/Homebrew_(パッケージ管理システム)

また、brewのサイトには以下の記載があります。

Homebrewではアップル(またはあなたのLinuxシステム)が提供していないあなたの必要なものをインストールできます。

https://brew.sh/index_ja
  • Homebrewは(ホームブルー、ホームブリュー)と読む
  • macOS以外にもLinuxで動作する
  • macOS(またはLinux)用パッケージマネージャー
  • 必要なソフトウェアをインストールできる

パッケージマネージャーって?

brewは「パッケージマネージャー(パッケージ管理システム)」であることがわかりましたが、パッケージマネージャーとは何でしょうか。

Wikipediaに以下の記載があります。

パッケージ管理システム、あるいはパッケージマネージャーとは、オペレーティングシステム (OS) やプログラミング言語というひとつの環境で、各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。

https://ja.wikipedia.org/wiki/パッケージ管理システム

debian Linuxのサイトには以下の記載があります。

パッケージマネージャとは、コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムです。名前が示すように、パッケージマネージャはパッケージを取り扱います。パッケージとは、ファイル群を一つにし、インストールや削除をまとめてできるようにしたものです。

  • 何がインストールされたか記録する
  • 新しいソフトウェアへの更新や削除を容易に行えるようにする
  • ソフトウェア同士やライブラリの依存関係を管理する

brewはmacOS(とLinux)用の大変優秀で便利なパッケージマネージャーです。Linuxにはそれぞれのディストリビューションでパッケージマネージャーがあります。

brewのインストール

それではインストールしてみましょう。実際にやってみると非常に簡単ですしターミナルを使うことの魅力も感じることができると思います。

brewのサイトに掲載されているインストールスクリプトを実行

  1. STEP

    brewのサイトにアクセスします。

  2. STEP

    インストールスクリプトをコピーします。

  3. STEP

    ターミナルのプロンプトにインストールスクリプトをペーストします。

    ターミナルを立ち上げてコピーしたインストールスクリプトをペーストし、リターンキーを押します。

    
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    
    ターミナルのプロンプトにペーストする
    ターミナルのプロンプトにペーストする
  4. STEP

    パスワードを入力する。

    brewのインストールにはパスワードを求められますので、ご自身のMacで使うユーザーのパスワードを入力します。

    入力したパスワードは表示されません。(「****」等も表示されません)

    brewのインストールを進めるためにパスワードを入力する。入力したパスワードは表示されません
    brewのインストールを進めるためにパスワードを入力する。入力したパスワードは表示されません
  5. STEP

    The Xcode Command Line Toolsのインストール

    brewのインストールには「The Xcode Command Line Tools」が必要となります。リターンキー押してThe Xcode Command Line Toolsをインストールします。少し時間がかかると思いますが、ターミナルを眺めつつ気長に待ちましょう。

    The Xcode Command Line Toolsとは
    コマンドラインで使うソフトウェア開発者向けのツール群です。古くからUNIXでのプログラミングに使用され、ほぼすべてのソフトウェア開発の基盤となっています。

    リターンキーを押して、Xcode Command Line Toolsのインストールを行う
    リターンキーを押して、Xcode Command Line Toolsのインストールを行う
  6. STEP

    PATHを通しbrewコマンドが使えるようにする

    ターミナルにインストール状況が表示されますのでそれを眺めつつ、下のスクリーンショットのようにコマンドプロンプトに戻った状態になればインストールは終了です。

    brewコマンドは/opt/homebrew/bin/brewにインストールされています。毎回/opt/homebrew/bin/brewを打つのは大変なのでbrewと入力すると使えるようにします。(PATHを通します)

    brewのインストールが終わりコマンドプロンプトに戻った状態
    brewのインストールが終わりコマンドプロンプトに戻った状態

    上のキャプチャーで黄色にした部分(Next steps)に記載されている通りにやってみましょう。

    
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
    
    
    
    eval "$(/opt/homebrew/bin/brew shellenv)"
    
    
  7. STEP

    brewインストール後の確認

    brewコマンドにPATHが通っているか確認します。whichコマンドで確認します。

    
    which brew
    /opt/homebrew/bin/brew
    
    

    続いて、brewのバージョンを確認します。

    
    brew --version
    Homebrew 3.3.16
    Homebrew/homebrew-core (git revision 0ea5da646be; last commit 2022-02-22)
    
    

    続いて、brew doctorで状態を確認します。

    
    brew doctor
    Your system is ready to brew.
    
    

    続いてbrew helpを実行します。英語ですがbrewの使い方が表示されます。

    
    brew help
    Example usage:
      brew search TEXT|/REGEX/
      brew info [FORMULA|CASK...]
      brew install FORMULA|CASK...
      brew update
      brew upgrade [FORMULA|CASK...]
      brew uninstall FORMULA|CASK...
      brew list [FORMULA|CASK...]
    
    Troubleshooting:
      brew config
      brew doctor
      brew install --verbose --debug FORMULA|CASK
    
    Contributing:
      brew create URL [--no-fetch]
      brew edit [FORMULA|CASK...]
    
    Further help:
      brew commands
      brew help [COMMAND]
      man brew
      https://docs.brew.sh
    
    

試しにslコマンドをインストールしてみる

brewのインストールが完了し状態の確認も問題なかったので試しにslコマンドをインストールしてみましょう。(インストールしなくてももちろん良いです。あくまで「試しに」です)

slコマンドとはコンソール画面をアスキーアートで描かれた蒸気機関車 (SL) が走り抜けるだけのコマンドです。wikiにslの概要や歴史が記載されています。面白いですね。
https://ja.wikipedia.org/wiki/Sl_(UNIX)

slを実行してみます。アスキーアートで描かれた蒸気機関車がターミナルを走り抜けます。


brew install sl


sl

slコマンドでアスキーアートで描かれた蒸気機関車がターミナルを走り抜ける
slコマンドでアスキーアートで描かれた蒸気機関車がターミナルを走り抜ける

lsのよく使うオプションを真似たオプションがslにもあります。


sl -l
# -lで細長いSLが走る
sl -a
# -aで車内の客が「HELP!」と叫んでいる
sl -F
# -Fで空(画面の上のほう)へ飛んでゆく

slコマンドをアンインストールしてみる

アンインストールはbrew uninstallです。


brew uninstall sl
Uninstalling /opt/homebrew/Cellar/sl/5.02... (6 files, 37.4KB)

Homebrewの覚えておくべき用語

brewで最初に覚えておく用語としてformulacaskなどがあります。

用語概要ざっと補足すると
formulaHomebrew package definition built from upstream sourcesCUIのアプリのパッケージ
caskHomebrew package definition that installs macOS native applicationsGUIのアプリのパッケージ
keg installation destination directory of a given formula version e.g.
       /usr/local/Cellar/foo/0.1
CUIアプリの特定バージョンのインストール先
rackdirectory containing one or more versioned kegs e.g.
       /usr/local/Cellar/foo
1つ以上の上記のkegのバージョンが入るディレクトリ
cellar directory containing one or more named racks e.g. /usr/local/Cellar1つ以上の上記のrackが入るディレクトリ
Caskroom directory containing one or more named casks e.g. /usr/local/CaskroomGUIアプリであるcaskが1つ以上入るディレクトリ
tapdirectory (and usually Git repository) of formulae, casks and/or
       external commands
公式以外のリポジトリをformulaとしHomebrewに追加する
bottlepre-built keg poured into the cellar/rack instead of building from
       upstream sources
ビルド済みのバイナリで環境に合うbottleがformulaに含まれていれば、ビルドせずにインストール可能

以下のサイトに大変わかりやすくまとめてくれています。ぜひ参考にしてください。感謝です。

Homebrewのよく使うオプション(使い方)

brew search

brew searchは、探したいコマンドをテキストで入力するかまたは正規表現で入力します。

brew searchの使い方


brew search [TEXT|/REGEX/]

brew searchを使ってみる

先のslコマンドがbrewにあるか探してみます。slと付くパッケージ名が多いのでここでは正規表現で完全一致で探します。

Formulaeslがあるという結果となります。


brew search /^sl$/
==> Formulae
sl

次にgoogleというキーワードでパッケージを探してみます。

FormulaeCaskでいくつかヒットします。


brew search google
==> Formulae
aws-google-auth                       google-sparsehash
google-authenticator-libpam           google-sql-tool
google-benchmark                      googler
google-go                             googletest
google-java-format                    goose

==> Casks
homebrew/cask-versions/google-chrome-beta
homebrew/cask-versions/google-chrome-canary
homebrew/cask-versions/google-chrome-dev
homebrew/cask-versions/google-japanese-ime-dev

brew info

brew infoは、FormulaeCaskの詳しい情報を見ることができます。

brew infoの使い方


brew info [FORMULA|CASK...]

brew infoを使ってみる

先のslコマンドの情報を見てみましょう。「Analytics」の部分でインストール数も見ることができます。


brew info sl
sl: stable 5.02 (bottled), HEAD
Prints a steam locomotive if you type sl instead of ls
https://github.com/mtoyoda/sl
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/sl.rb
License: MIT
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 2,051 (30 days), 6,349 (90 days), 25,629 (365 days)
install-on-request: 2,047 (30 days), 6,337 (90 days), 25,606 (365 days)
build-error: 0 (30 days)

lolcatというパッケージの情報も見てみます。lolcatはターミナルの出力をレインボーに彩ることができるソフトウェアです。


brew info lolcat
lolcat: stable 100.0.1 (bottled)
Rainbows and unicorns in your console!
https://github.com/busyloop/lolcat
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/lolcat.rb
License: BSD-3-Clause
==> Analytics
install: 1,160 (30 days), 3,339 (90 days), 13,073 (365 days)
install-on-request: 1,160 (30 days), 3,336 (90 days), 13,067 (365 days)
build-error: 0 (30 days)

brew install

brew installは、インストールしたいFormulaeCaskを指定しインストールします。

使い方


brew install FORMULA|CASK...

ターミナルの出力をレインボーに彩るlolcatをインストールしてみます。(slに続きlolcatも心和む系で私は好きです)


brew install lolcat
(省略)
==> Pouring lolcat--100.0.1.all.bottle.tar.gz
🍺  /opt/homebrew/Cellar/lolcat/100.0.1: 261 files, 593.0KB
(省略)

さっそくlolcatを使ってみましょう。虹色に彩ってくれます。


ls -l | lolcat

ls -l | lolcatの結果
ls -l | lolcatの結果

上でslコマンドをアンインストールしましたが再度インストールして実行してみます。


sl -l | lolcat

sl -l | lolcatの結果
sl -l | lolcatの結果
ひとこと

コマンドラインではパイプという機能を使ってコマンドを実行した結果を(出力された値)を、別のコマンドの入力として受け取り出力することができます。

上の例ではls -lの結果を|で繋げて書くことでlolcatに渡して出力しています。これをパイプと言います。

brew update

brew updateは、brew自体のアップデートでローカルのFormulaファイルを最新にします。自身のPCにインストールされているものをアップデートするわけでないので注意してください。

brew updateの使い方


brew update

brew updateしてみる

brew自体が最新の場合は「Already up-to-date.」と表示されます。インストール済のソフトウェアが最新であるという意味ではありませんので注意してください。


brew update
Already up-to-date.

brew outdated

 brew outdatedbrewでインストールしかつ最新ではないパッケージを一覧表示するコマンドです。

brew outdatedの使い方


brew outdated

brew outdatedしてみる

最新ではないパッケージは下記のように表示されます。(最新ではないパッケージがない場合は何も表示されません)


brew outdated
little-cms2 (2.13) < 2.13.1
keycastr (0.9.11) != 0.9.12

ひとこと

・1. brew updateでローカルのFormulaファイルを最新にして、

・2. brew outdatedしてbrewでインストールしかつ最新ではないパッケージを確認する

brew upgrade

brew upgradebrewでインストールしかつ最新ではないパッケージを最新にします。

brew updateとの違いに注意してください

使い方

brew upgradeの後に最新にしたいFormulaを指定します。Formulaを指定しない場合はbrewでインストールした全てを対象に最新ではないパッケージを全て最新にしてくれます。


brew upgrade [FORMULA|CASK...]

ひとこと

・1. brew updateでローカルのFormulaファイルを最新にして、

・2. brew outdatedしてbrewでインストールしかつ最新ではないパッケージを確認する

・3. brew upgradeして最新ではないパッケージを最新にする

brew uninstall

brew uninstallはアンインストールしたいFormulaeCaskを指定することでアンインストールを実行します。

brew uninstallの使い方


brew uninstall FORMULA|CASK...

brew uninstallしてみる

上でインストールしたlolcatをアンインストールしてみます。


brew uninstall lolcat
Uninstalling /opt/homebrew/Cellar/lolcat/100.0.1... (261 files, 593.0KB)

brew list

brew listは、brewでインストールしたパッケージを一覧表示します。brew listの後にFormulaeCaskを指定することでインストール先を確認することもできます。

brew listの使い方


brew list [FORMULA|CASK...]

brew listしてみる

brew listはインストール済のFormulaeCaskを一覧表示してくれます。下記はslしか表示されていません。


brew list
==> Formulae
sl


brew list sl
/opt/homebrew/Cellar/sl/5.02/bin/sl
/opt/homebrew/Cellar/sl/5.02/share/man/man1/sl.1

brew config

brew configは、brewの設定や状態を表示するコマンドです。主にトラブルシューティングで使います。brewのバージョンやgitの情報、環境変数、使用するrubycurlのバージョン等が表示されます。

brew configの使い方


brew config

brew configしてみる


brew config
HOMEBREW_VERSION: 3.3.16
ORIGIN: https://github.com/Homebrew/brew
HEAD: 2dc375acc2fe4e089d103171ec8fb06a87d83bb6
Last commit: 2 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 7ef8aef5ed5882cf08e3a4b2ac90d025a77e6124
Core tap last commit: 2 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_CORE_GIT_REMOTE: https://github.com/Homebrew/homebrew-core
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 13.0.0 build 1300
Git: 2.32.0 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.77.0 => /usr/bin/curl
macOS: 12.2.1-arm64
CLT: 13.2.0.0.1.1638488800
Xcode: N/A
Rosetta 2: false

brew doctor

brew doctorは、brewの問題を表示してくれます。こちらも主にメンテナンスやトラブルシューティングで使います。

brew doctorの使い方


brew doctor

brew doctorしてみる

特に問題がない場合は「Your system is ready to brew.」が表示されます。


brew doctor
Your system is ready to brew.

最後に

最後まで読んでいただきありがとうございます。今回はHomebrewのインストールと使い方を紹介しました。

Mac好きな理由のひとつにHomebrewが使える、ということがあると思います。MacがUnixの系統でターミナルでコマンドラインをUnixのように触れて、Homebrewも使えて便利!といった方が私も含めて結構いると思います。

ぜひ皆さんもHomebrewを活用してみてください。この記事がみなさんのMacライフに少しでもお役に立てたら幸いです。

MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。

Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。

初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。

定番おすすめ記事

Macを使う景色が一変しMacの魅力をグッをアップさせるターミナルを活用する記事をまとめました。ぜひご覧ください。

関連記事