##パッケージ管理について
###パッケージとは何か?
→直訳すると一括してまとまっているものを指す。
その名の通り、
何かの処理を実行するためのファイルや
その処理などを設定するためのソースコードが記述されたファイル、ライブラリなどを1つにまとめているもののことを言います。
例えばkaminariというパッケージは
次のページ、最後のページなどのページ機能を与えてくれたりする
####もっと分かりやすく言うと
誰かが公開してくれているファイル、ライブラリなどが1つのファイルにまとまっている便利なツールのこと
→イメージ的にはマクド○ルドのビック○ックセットやケン○ッキーのお正月バーレルのようなものだったり遊○王のストラクチャーデッキ(すでにカードが入っているデッキ)みたいな感じ。
####ライブラリとは
ある特定の機能を持ったコンピュータプログラムを他のプログラムから呼び出して利用できるようにした後、複数集めて一つのファイルに収納したもののこと。
→これは直訳通り図書館をイメージするとわかりやすかったです。(たくさんの本が置いてある感じ)
###パッケージ管理システムとは?
その名の通り、パッケージの管理をしてくれるシステムのこと。
しかしそれだけではなくパッケージの導入も行なってくれるのである!
パッケージ管理システムがあることで、
パッケージのインストール
(ハードウェアやソフトウェアをコンピュータのシステムに導入し、使えるように設定すること)や
アンインストール(使えるようにしたものを解消すること)
の作業を行なってくれる!
###整合性という利便性
パッケージ管理システムを使うことで管理内のパッケージやライブラリがお互いに関わりあった関係(依存関係)になる
→整合性(物事に矛盾が生じておらず、整っている性質)をとることができる
→整ってた方がアップデートとかにも対応しやすくて楽
→そんな楽が管理システムには存在する。
###具体的な便利機能
整合性により管理されたもののバージョンのインストール・アンインストールだけでなくアップグレードなども行なってくれたり、依存関係からアンインストールした際に関連するファイルも端末から削除してくれたりするのでデータの容量を減らせたりする
→関連するものをまとめてくれるので楽に処理できちゃう
→整合性の利便性
###様々なパッケージ管理システム
パッケージ管理ツールには様々なものが存在しますのでそれらを上げていきたいと思います。
・rubyのパッケージとしてのgem(gemを管理数るためのbundlerというツールも存在する)
・Node.jsのnpm
・PythonのPipenv
・これから紹介するmacのパッケージ管理ツールHomebrew
##Homebrewについて
パッケージ管理システムの1つにHomebrewがある
OSによってパッケージを管理するツール(手法)が異なる。
→OS上の動作環境ごとに管理するツールを変化させる必要がある!
(例)Windows→Chocolatey
RH系のLinux→yum, dnf
そしてmacOSではパッケージ管理ツールとしてHomebrewが使用される
→つまりWindowsでは動作しない。
このHomebrewによってmacで様々なパッケージのインストールを行える!
→MacのPCで最初に自分好みの環境構築を行う際の第一歩としてターミナルに
homebrewをインストールする必要がある
ちなみに私はHomebrewの公式サイトとQiitaの記事を活用しながらインストールを行いました。
詳しくはこちら。
またHomebrewを使用して実際にMac OSの環境構築をしたものがこちらになります。