Categories: MAC OS X

如何解決 Homebrew Update 失敗?

相信許多用 MAC 系統的程式設計師、工程師們都有用 Homebrew 這個超好用的 Open Source 套件管理程式吧?

如果沒有的話,你可以透過以下的指令安裝:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

不過今天不是要來介紹如何使用 Homebrew 的,而是要跟大家分享一下我怎麼解決無法 Update 的問題…

某天我要更新 Homebrew 時…

$ brew update
error: pathspec 'master' did not match any file(s) known to git.
Error: Failure while executing: git checkout -q master

你沒看錯,他莫名其妙的跟我說一堆 git 啥的問題,但我根本沒動過他的安裝路徑下的東西,但不更新有時又會出一堆奇奇怪的問題,只好拜一下 Google 大神。

之後在 Stack Overflow 這個網站裝找到了解法。

只要下這幾條命令,問題就解決啦!

$ cd `brew --prefix`
$ git remote add origin https://github.com/Homebrew/homebrew.git
$ git fetch origin
$ git reset --hard origin/master
$ brew update
Already up-to-date.

從這些指令來看,造成這個問題的原因很有可能是因為當初所安裝的 Homebrew 在抓取資料時發生了一些問題,導致 Git 的版本指標位置與伺服器上的發生衝突,而這個衝突會使得 Homebrew 在做更新時被 Git 給擋了下來,防止產生更多的衝突而造成難以修復的問題。

上述的動作是在重新把 Homebrew 的 Git 版本指標更改為最新以及正常的狀態,如此一來我們才能夠正常的使用 Homebrew 的各種功能,以及,更新。

duye.chen

View Comments

  • 不用这么麻烦,简单的办法是挂个梯子,我用的是天路加速器,看他们官网教程。然后执行ALL_PROXY=socks5://127.0.0.1:1080 brew update -v

Share
Published by
duye.chen

Recent Posts

[教學] 打造你的 NFT 智能合約 – ERC721A

GM!前些日子在幣圈亂玩,一路...

2 年 ago

JavaScript – Singleton 設計模式

前言 在設計程式時,我們有時會...

3 年 ago

PlaidML 讓你的 Mac 也能加速 Tensorflow 機器學習!

相信很多使用 Mac 或者手上...

3 年 ago

RESTful API 測試很煩,只好動手寫屬於自己的測試了

寫在最前面 嗨,大家好久不見!...

3 年 ago

Node.js 與 Socket.io – 即時聊天室實作:資料庫

經過前兩篇(一、二)文章,我們...

6 年 ago