PC環境
- Macbook Pro
- M1 pro
- macOS 13.3
初めてHomebrewが必要になった
Homebrewの存在と何をするものかは知っていたのですが、今までHomebrew経由で何かをインストールしないといけない状況にならなかったので、Homebrew自体をインストールしていませんでした。
ところが、rbenv + ruby-buildでRuby3.2.xをインストールしようとしたのですが、Ruby3.2.xからlibyamlが同梱されなくなったことでインストールに失敗してしまいました。
Ruby3.2.xをインストールするにはlibyamlを何かしらの方法でインストールしないといけなくなり、調べてみるとHomebrewからインストールできると分かりました。
なので、これを機にHomebrewをインストールすることにしました。
通常ユーザーではHomebrewのインストールに失敗した
Homebrewの公式ページを見ると「シェルにこのスクリプトをコピペして実行してね」とあるので、素直に従って実行したのですが途中でエラー終了してしまいます。
エラーの理由はsudo権限が通常ユーザーには無いからでした。
普段はセキュリティを考えて通常ユーザーでMacを使っているので「管理者権限に昇格はできれば避けたい、何かないかな?」とHomebrewのインストールマニュアルを見てみたところ、別のディレクトリにインストールする方法はあるみたいなのですが、公式としてはあまりオススメではない模様でした。
ただ、「sudo権限は最初のインストール時だけに必要だよ。その後は要らないよ!」とも書いてあったので、いつも使っているアカウントを管理者ユーザーに昇格させてHomebrewをインストールし、完了したら通常ユーザーに戻す作戦でいくことにしました。
管理者ユーザーに昇格したらHomebrewをインストールできた
手順は以下の通りです。
- 既存の管理者ユーザーでログインし直して、いつも使っているアカウントをシステム設定から管理者ユーザーに変更
- Mac再起動後、管理者ユーザーに昇格したアカウントでMacにログイン
- Homebrewの公式ページからインストールスクリプトをzshにコピペして実行
- 画面の指示に従ってインストール
- 「~/.zprofileにeval $(/opt/homebrew〜を追記してね」とメッセージが出たが、手元の環境だと
~/.zprofile
は無いので~/.zshrc
に追記 - zshを再起動
- brew helpを実行→ヘルプが表示されたのでインストールOK
- Macからログアウトして既存の管理者ユーザーでログインし、システム設定からいつものアカウントを通常ユーザーに変更
- Mac再起動後、いつものアカウントでログイン
- ashでbrew helpを実行→ヘルプが表示されたので通常ユーザーでも使えそう
通常ユーザーに戻した後でもHomebrewを使用できた
さっそく、libyamlをインストールしてみます。
$ brew install libyaml ==> Downloading ################################ 100.0% ==> Pouring libyaml--0.2.5.arm64_ventura.bottle.tar.gz 🍺 /opt/homebrew/Cellar/libyaml/0.2.5: 10 files, 351.3KB ==> Running `brew cleanup libyaml`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). $
エラーも無く、ぱっと見、インストールに成功したようです。
そして、Ruby 3.2.xをインストールします。
$ rbenv install 3.2.1 Downloading ruby-3.2.1.tar.gz... -> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz Installing ruby-3.2.1... ruby-build: using libyaml from homebrew Installed ruby-3.2.1 $ rbenv versions system 3.2.1
これでRuby 3.2.xをインストールできました。