brew updateコマンドが失敗する?HomebrewのUpdate方法

IT

こんにちは、こんばんは、パスタです!

先日macでは有名なHomebrewを使いたいタイミングがあったので、久々ということもありUpdateすることにしました。

すると何故か失敗・・・

以下エラー内容

Error: 
  homebrew-core is a shallow clone.
  homebrew-cask is a shallow clone.
To `brew update`, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
These commands may take a few minutes to run due to the large size of the repositories.
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!

同じように躓く人が絶対いる!と思ったので記事にしました。

エラー理由はなんぞ?どうやらupdate方法が変わったらしい・・・

簡単にエラー理由を説明すると、
「shallow cloneを使用する方法はやめてくださいまし。」
「手動でshallow cloneを解除してもう一度実行してね♪」
ということです。

Homebrewは以前までGitのshallow clone機能(最新ファイルのみを取得)を使用してupdateしていたみたいなのですが、GitHub自体に負荷がかかってしまうためこの方法をやめてほしい・・・と要請があったみたいなのです。

なのでこのコマンドを実行してshallo clone機能を解除、その上で再度updateしてね!ということになります。

なので言われた通りにコマンドを実行しましょう。
表示されたコマンドをそれぞれ実行してshallo cloneを解除します。

  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow

実行した後、brew updateを再度実行すればほとんど人はupdateが実行されるはずです。

ただしこのupdateは全量取得するので(今までは差分のみで早かった)、多少時間がかかると思います。

shallow cloneを解除したのにまた失敗したけど?

dyld: Symbol not found: _OBJC_IVAR_$_NSFont._fFlags
  Referenced from: /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
  Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
 in /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
git: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
git: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch

小まめにアプリケーション等をupdateしている人は大丈夫だと思うのですが、どうやら私はXcodeのバージョンが低くて(使わないので放置してた)、updateが失敗してしまいました・・・

ちゃんと調査していないので詳しい原因はわからないのですが、どうやらXcodeのモジュールを使用しているらしく、updateすれば解決するとのこと・・・

Xcodeを最新版にしたら今度こそHomebrewをUpdate出来たので、同じようなエラーが出た方はお試しください。

コメント

タイトルとURLをコピーしました