rcmdnk's blog

Xcode 5 完全攻略

Homebrewでxcrun: errorというエラーが出てbrew upgradeが上手くいかない状態になっていたので直しました。

Sponsored Links

xcrun: error

macOS Mojaveにアップグレードした後にこの減少が出たので アップグレードが原因だと思います。

以下の様なエラーが出ました。

$ brew upgrade --fetch-HEAD
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
==> Upgrading 3 outdated packages, with result:
clang-format 2018-04-24 -> 2018-08-24, sqlite 3.25.1 -> 3.25.2, imagemagick 7.0.8-11_2 -> 7.0.8-12
==> Upgrading sqlite
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Error: Failure while executing; `git config --local --replace-all homebrew.private true` exited with 1.

brew doctor

ドクターチェックをしてみると

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Missing Homebrew/brew git origin remote.

Without a correctly configured origin, Homebrew won't update
properly. You can solve this by adding the Homebrew remote:
  git -C "/usr/local/Homebrew" remote add origin https://github.com/Homebrew/brew.git
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path:
  sudo xcode-select -switch /Applications/Xcode.app

Warning: Broken symlinks were found. Remove them with `brew prune`:
  /usr/local/bin/docker.backup
  /usr/local/share/python
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

こんな感じ。

環境手直し(xcode-select)

な感じでHomebrewのレポジトリもおかしい、などと言ってますが、/usr/local/Homebrewで見てみると

$ git remote -v
origin  https://github.com/Homebrew/brew (fetch)
origin  https://github.com/Homebrew/brew (push)

となっていておかしくはなさそう。 当然originに指定があるのでgit -C ...のコマンドは失敗します。

その次のsbinパス指定は関係なさそうなので後で。

その次にXcode云々があります。これはOSのアップデートとかに関連しそうな部分なので言われたとおりに実行。

$ sudo xcode-select -switch /Applications/Xcode.app
Passwrd:
$

でもう一度チェック。

$  brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

Warning: Broken symlinks were found. Remove them with `brew prune`:
  /usr/local/bin/docker.backup
  /usr/local/share/python

Homebrewのレポジトリの件とXcode云々が消えました。

xcode-selectをすることで

$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

となり、/Applications/Xcode.app/Contents/Developer/usr/bin/以下のコマンドなどを開発ツール内などで参照出来る様になります。 ここにgitもありました。 なのでこのgitが使えなくてHomebrewのレポジトリのチェックに失敗していた様です。

Warningに出ている/Library/Developer/CommandLineToolsを見てみると /Library/Developer/CommandLineTools/usr/share/man/whatisというファイル以外はない状態でした。

また、xcrunはDeveloper以下にはなくて/usr/bin/xcrunにありました。

この辺りあまりよく知らないですが、 Xcodeやら開発ツールを使っているアプリやツールはMojaveにアップグレードすることでこの辺の影響を受けるかもしれません。

環境手直し(その他)

ついでに出ている他のWarningも直しておきます。

sbinについては他の環境では通常ユーザーでsbinを見ることは必要ないので、

[[ "$OSTYPE" = darwin* ]] && export PATH=/usr/local/sbin:$PATH

とかを加えておけばWarningが消えます。

下のbrew pruneせよ、というのは素直に

$ brew prune

すれば該当の不要なシンボリックリンクを消してくれます。

まとめ

$ brew doctor
Your system is ready to brew.
Sponsored Links
Sponsored Links

« Vimのプラグイン管理ツールdeinをVim 7.4で使う Yankround.vimを使ったクリップボード共有 »