インターン時に行った内容をもう一度ひとりでやってみた「Homebrew」

インターン時に行った内容をもう一度ひとりでやってみた「Homebrew」

Clock Icon2023.11.06

はじめに

昨年クラスメソッドから内定をもらった後、夏から秋にかけてインターンをしていた大谷(おおや)です!

今回は、インターン時に行った内容のひとつである macOS におけるパッケージマネージャー Homebrew の導入についてまとめていきます。

プログラミング初めましての方が、「始める時はこの記事!」となるように丁寧に書いていきたいと思います。

実行環境

  • OS: macOS v13.6(Apple M2)
  • シェル: zsh 5.9 (x86_64-apple-darwin22.0)

パッケージマネージャーとは

OS におけるパッケージマネージャー(パッケージ管理システム)とは、コマンドライン上などでソフトウェアのインストールや更新、アンインストールなどの各ソフトウェアの管理をするシステムのことを指します。

Windows 向けには winget 、 Linux 向けには APTyum などがあります。

同じように macOS 向けに Homebrew というパッケージマネージャーが存在します。

Homebrewとは

Homebrew とは、前述の通り macOS (または Linux)用のパッケージマネージャーです。

コマンドライン上から様々なパッケージやソフトウェアのインストール等をすることができ、 macOS の機能を拡張することができます。

Homebrew のインストール

公式ページに従ってインストールを進めます。

macOS のターミナルアプリ(または VSCode などのコードエディタ上のターミナル)に下記を貼り付けて実行します。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

この時、パスワードの入力が求められた場合は、現在 Mac でログインしているユーザーアカウントのパスワードを入力してください。

(補足) 別の OS に慣れている人は驚くと思いますが、 パスワード入力時打った文字は表示されません 。表示はされませんが入力はされているので、打ち終わったら確定(Enter)を押してください。

PATHを通す

今後 brew コマンドで Homebrew を使用できるようにするために、ソースまでのパスを通しておく必要があります。

実際に先ほどインストールした後の「ターミナル」の出力を見てみると、「次のステップ」のところに以下2つのPATHを通しておいてねと指示があります。

% echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/(ユーザー名)/.zprofile
% eval "$(/opt/homebrew/bin/brew shellenv)"

上記は、使用しているデフォルトシェルが zsh の場合の出力です。

出力される各コマンドは人(環境)によって異なります。各自出力されたメッセージをもとに、一行ずつコマンドを実行してください。

シェルへの反映

通したパスをシェルに反映するために、sourceコマンドを実行するか、シェルを再起動します。

# ファイルの内容を zsh に反映する
source ~/.zprofile

または

# シェルを再起動する
exec $SHELL -l

動作確認

# Homebrewのバージョンを確認する
$ brew -v

または

# Homebrewのヘルプを表示する
$ brew -h

のどちらかを実行してエラーが出力されなければ問題なくパスを通すことができています。

よく使うコマンド

# Homebrewのバージョンアップ
brew update

# パッケージのインストール
brew install <package_name>

# パッケージのアップグレード
brew upgrade <package_name>

# パッケージの一覧の確認
brew list

# パッケージのアンインストール
brew uninstall <package_name>

おわりに

今回は、macOSにおけるパッケージマネージャー Homebrew についてまとめました。

ぜひよく使うコマンドを覚えて、 Homebrew をいっぱい使ってみてください!

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.