Homebrewについて調べてみた
はじめに
Homebrewについて調べたので記録します。
先日書いた「MySQLのエラー」の対処方法として「MySQLのclientlibraryにシンボルリンクの貼り直す作業」が必要になった。そしてclientlibraryファイルを探すうちに、PCの中にMySQLに関連するディレクトリがあちこちに複数存在していることが分かった。
私は「どのファイルが、何の役割を担っているのか?」も理解しないままググったコマンドを実行する恐怖症なので、どのディレクトリのどのファイルがどういう役割で、どう行ったことが書かれているか、、を調べました。
そんな中で、これまであまり意識せずに利用していたHomebrewについても調べる必要が出てきました。MySQLはHomebrewを通じてインストールしていたからです。そんなこんなで、「そもそもHomebrewっていったい何だ?」と疑問に思い調べたので、今回まとめました。
記事の対象者
- Homebrewを使っているけど良く分からない人
Homebrewとは
Homebrewとは、パッケージ管理を行うソフトウェアです。
プログラムを組む上で、よくある処理については自分で一からプログラムを書かずに、公開されているプログラムの部品があればそれを利用した方が効率的です。そういった便利な部品を集約してひとまとめにしたものをライブラリと言い、そのライブラリの関連ファイル(実行ファイルや設定ファイルなど)をまとめたものをパッケージと呼びます。
Hombrewは、それらのパッケージのインストールやアンインストールを自動化したり、インストールしたパッケージのバージョンや依存関係を一元管理するためのツールです。
なぜHomebrewが必要か
まずパッケージの配布方法には大きく分けて「バイナリ配布」と「ソースコード配布」の2種類があります。
<補足>
- バイナリ配布
コンパイル(0と1のみで書かれた「機械語」への翻訳)済みのファイルを配布します。利用する側はサクッと導入できて楽なのですが、配布する側はあらゆる環境での動作確認が必要で膨大な労力がかかりますし配布物への責任が伴います。
- ソースコード配布
(未コンパイルの)ソースコードを配布します。利用者は自由にカスタマイズすることも可能ですが、利用者自身でビルド(プログラムへの組み込み)をする必要があり、一定の知識や技術が必要です。 システム環境の多様化や開発コストの問題から、現在は「ソースコード配布」が主流になっています。 しかし、配布されているソースコードを利用者自身がプログラムへ組み込む作業は一定の知識が必要で、「誰でも簡単にできる」という訳にはいきません。
それらを、なんと自動で行なってくれるツールがHomebrewです。
他にもパッケージのアンインストールや、インストールしたパッケージのバージョン管理、パッケージの有効/無効の切り替えなど、使いこなせれば何かと便利です。
Homebrewの仕組みの全体像
まずは、Homebrewの用語説明です。
Homebrewとは「自家醸造」という意味であり、扱われる用語もビールの自家醸造に例えらて表現されています。
用語 | 和訳 | 用語の説明 |
---|---|---|
Hobebrew | 自家醸造 | 自分自身でビルドするよの意 |
fomula | レシピ(調理法) | ビルド方法が書かれたスクリプト |
keg | 熟成タル | ビルドの材料(formulaのインストール先) |
brew | 醸造 | ビルドすること |
Cellar | 貯蔵庫 | ビルドしたパッケージ本体の格納場所 |
bin | ビン | ビルドしたパッケージへのリンク |
ここから分かるように、Homebrewによるパッケージインストールは以下の通りに行われています。
このように捉えると非常に分かりやすいと思います。
Homebrewの構造
Homebrewをインストールすると、usr/local
以下に複数のディレクトリが生成されます。特に重要なのは以下のディレクトリです。
usr/local
├─ Homebrew #Homebrew本体の格納先
├─ Cellar #インストールしたパッケージ本体の格納先
├─ bin #シンボルリンクの保存先
├─ lib #シンボルリンクの保存先
├─ opt #最新版へのシンボルリンク保存先
…
Homebrew自体も一種のパッケージであり、 Homebrew本体は「Homebrew」ディレクトリに保存されます。
そして、Homebrewを通じてパッケージをインストールすると、そのインストールしたパッケージの本体が「Cellar」というディレクトリに格納されます。
それと同時に、「bin」や「lib」にシンボルリンクのファイルが作成されます。実際にパッケージを利用する際は、このシンボルリンクを通してパッケージ本体にアクセスします。
<補足>
インストール方法
- Homebrewをインストールするのに必要な「コマンド」を使えるようにす流には、Command Line Toolsをインストールが必要です。
ターミナル
$ xcode-select --install
もしくは以下のurlからインストール
https://developer.apple.com/download/more/
1)ID、passの入力
2)ボックスにチェックして「submit」
3)「Download Tools」を選択
4)「See more downloads」を選択
5)「command line」を検索
6)自身のMacに合わせたものをインストール
- Hombebrewのインストール
$ cd #ホームディレクトリに移動 $ pwd #ホームディレクトリにいることを確認! $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #インストールの実行
<補足>
もし「Agreeing to the Xcode・・・」のエラーが出たら・・・
<補足>
もし「Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.」というエラーが出たら、Xcodeのライセンスへの同意が必要です。
Finderのアプリケーションからxcodeを起動
agreeをクリック
もう一度Homebrewをインストールする
最後に、インストールができているか確認しましょう。また必要に応じてアップデートしておく必要があります。併せて実行しましょう。
$ brew -v $ brew update
また、Macのバージョンが10.11.1以上の場合は、ターミナルから以下のコマンドを実行します。
$ sudo chown -R `whoami`:admin /usr/local/bin
<補足>
参考ページ
最後に
今回は、Homebrewの基礎知識からインストールの仕方までをまとめました。具体的な使い方についてもまとめていき、できたものから下の関連ページにリンクを貼って行きますので、そちらも合わせてご覧下さい。
関連ページ
現在はありません