Homebrew zsh: command not found: brew 解決方式

前言

某一天要安裝某個軟體時,卻出現「zsh: command not found: brew install」的錯誤,所以這一篇記錄一下問題。

問題紀錄

某一天當我輸入 brew install flyctl 時,卻出現以下錯誤:

1
zsh: command not found: brew install flyctl

接著我在嘗試輸入 brew list 卻又出現以下錯誤:

1
zsh: command not found: brew list

但是這段時間我也沒做過什麼事情,所以我在嘗試輸入 brew 之後,卻可以出現列表,所以這狀況真的滿詭異的

brew

解決方式

一開始我有懷疑是不是環境變數跑掉,也就是這一段

1
export PATH="/usr/local/bin:$PATH"

首先我第一直覺是先重新安裝 Homebrew,所以我輸入以下指令:

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

(不得不說,這個 Homebrew 的安裝過程有夠慢的。)

安裝好之後,又嘗試出入 brew install flyctl,結果還是一樣,所以我稍微認真看一下提示訊息發現這一段,

brew

1
2
3
4
- Run these three commands in your terminal to add Homebrew to your PATH:
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/rayxu/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/rayxu/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

這三段其實在測試 Homebrew 的環境變數,其實也就是以下

1
2
# Set PATH, MANPATH, etc., for Homebrew.
eval "$(/opt/homebrew/bin/brew shellenv)"

而它預設是指向到 .zprofile,但我是使用 zsh,所以我就改成 .zshrc,所以我就輸入以下指令:

1
2
3
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/rayxu/.zshrc
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/rayxu/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"

接著重開終端機再輸入一次 brew install flyctl,結果還是一樣,所以我在繞了一下官方文件看到 brew install wget,所以嘗試安裝一下,結果 brew install wget 是可以運作的,接著跑完這個指令後,我再去輸入 brew install flyctl,結果就可以正常安裝了。

那麼這個原因是為什麼呢?主要原因是出在安裝套件時,會需要一些基本套件,如:

  • gettext
  • libunistring
  • libidn2
  • ca-certificates
  • openssl@1.1

但不知道為什麼我的 wget 消失了,所以才會導致安裝套件時出現錯誤,因為安裝套件的時候會需要用到 wget,所以才會無法正常安裝。

參考文獻

Liker 讚賞

這篇文章如果對你有幫助,你可以花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
或者你可以也可以請我「喝一杯咖啡(Donate)」。

Buy Me A Coffee Buy Me A Coffee

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ