Homebrew 6.0でアップグレード時にy/nを聞かれるようになった場合の対処法

How to handle Homebrew 6.0's new interactive upgrade confirmation prompts

* 本ページはプロモーションが含まれています

Homebrew 6.0 から、brew upgradebrew install を実行すると、処理を続けるかどうか確認を求められるようになりました。

==> This action will upgrade X formulae.
Proceed? [y/N]

これまでは自動的に進んでいたため、戸惑った方も多いと思います。この記事では、状況に応じた対処法をまとめます。

その場で対処する 

特に設定変更が不要な場合は、プロンプトが表示されたら y を入力して Enter を押すだけです。

Proceed? [y/N] y

一時的な操作であれば、この方法が最もシンプルです。

コマンドに --yes フラグを追加する 

毎回確認をスキップしたい場合は、コマンドに --yes(または -y)フラグを追加します。

brew upgrade --yes
brew install --yes パッケージ名

エイリアスとして登録しておくと便利です。

# ~/.zshrc に追加
alias bup='brew upgrade --yes'

恒久的に無効化する(環境変数) 

確認プロンプトを完全に無効化したい場合は、環境変数 HOMEBREW_NO_ASK=1 を設定します。

# ~/.zshrc に追加
export HOMEBREW_NO_ASK=1

設定後は反映のためシェルを再起動するか、以下を実行してください。

source ~/.zshrc

これで以降の brew コマンドはすべて確認なしで実行されます。

スクリプト内での自動化 

CI/CDやシェルスクリプト内で brew を使っている場合も、HOMEBREW_NO_ASK=1 を設定することで対応できます。

#!/bin/bash
export HOMEBREW_NO_ASK=1
brew update
brew upgrade

または、コマンド実行時にインラインで指定することもできます。

HOMEBREW_NO_ASK=1 brew upgrade

まとめ 

状況対処法
その場だけ対処したいプロンプトで y を入力
コマンドごとにスキップ--yes / -y フラグを使う
常にスキップしたいHOMEBREW_NO_ASK=1~/.zshrc に設定
スクリプト内で使いたいスクリプト内で export HOMEBREW_NO_ASK=1

Homebrew 6.0 のこの変更は、誤ったアップグレードを防ぐための安全策として導入されたものです。用途に合わせて対処法を選択してください。


See also