うさがにっき

読書感想文とプログラムのこと書いてきます

Xcodeをアンインストールしたことによってgitが使えなくなった時に、運悪くOSがYosemiteだった時の対処法

概要

AndroidStudioからGithubにソースをあげようと思ったらgitがエラーを吐いたのでそれで行った対処法をまとめておく

詳細

背景

  • macの容量が少なくなってきたので当分使いそうにないxcodeをアンインストールした
  • OSはYosemiteにアップデートした

解決方法まとめ

  • Homebrewアンインストール
  • Command Line Toolダウンロード
  • xcode-select switchでCommand Line Toolの場所を指定
  • Homebrewインストール
  • gitインストール

解決方法詳細

AndroidStudioでGithubにソースをあげようとしたらエラーが発生
gitコマンドを打ってみて確認

$ git
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist, use `xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools (or see `man xcode-select`)

なにやらxcodeをアンインストールしたことにより、gitが実行できなくなっている様子
ならgitをHomebrewからinstallすることに
・・・うまくいかない、確認

$ brew doctor
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0

調べてみるとYosemiteからRuby1.8が無くなったので、そこのディレクトリがないといっている
なので/usr/local/Library/brew.rbの1.8の部分をCurrentに直して再実行

$ brew doctor
Homebrew requires Leopard or higher. For Tiger support, see:
https://github.com/mistydemeo/tigerbrew

OSがTigerとかいうオンボロだと言われて、対象外と言われる
もう面倒くさいのでHomebrewを再インストールすることにした
まずはHomebrewのアンインストール

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

んで再インストール

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Whoops, the Homebrew installer has moved! Please instead run:

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

Also, please ask wherever you got this link from to update it to the above.
Thanks!

installerの場所が変わったらしい
指定された場所で再度実行

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/mkdir /Library/Caches/Homebrew
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> Installing the Command Line Tools (expect a GUI popup):
==> /usr/bin/sudo /usr/bin/xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Failed during: /usr/bin/sudo /usr/bin/xcode-select --install

ぐぬぬ・・・
なんとしてもxcodeをインストールしないとダメなのか
と思っていたらcommand line toolだけインストールできる場所を発見 ※要開発者ID
Sign in with your Apple ID - Apple Developer
検索ボックスにcommandlineとか打ち込めばでてきます
commandlinetoolをダウンロードしインストールしたあと、一応ターミナル再起動して再実行

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
==> Installing the Command Line Tools (expect a GUI popup):
==> /usr/bin/sudo /usr/bin/xcode-select --install
Password:
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Failed during: /usr/bin/sudo /usr/bin/xcode-select --install

・・・同じ?
よく見たらcommand line toolsがすでにインストールされているからアップデートしろって言ってる?
いろいろ調べたらcommand line toolsをxcodeを一回インストールしたあとに、場所を変えたらxcode-select -switchでパスの変更をする必要があるらしい

$ sudo xcode-select -switch /Library/Developer/CommandLineTools
Password:
$ xcode-select -print-path
/Library/Developer/CommandLineTools

三度目の正直

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
==> Downloading and installing Homebrew...
remote: Counting objects: 3621, done.
remote: Compressing objects: 100% (3453/3453), done.
remote: Total 3621 (delta 36), reused 691 (delta 27), pack-reused 0
Receiving objects: 100% (3621/3621), 2.92 MiB | 812.00 KiB/s, done.
Resolving deltas: 100% (36/36), done.
From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
Checking out files: 100% (3624/3624), done.
HEAD is now at a266e1e folly: add 0.47.0 bottle.
==> Installation successful!
==> Next steps
Run `brew help` to get started

できたああああああああ

$ brew doctor
Your system is ready to brew.

問題なし!
git install!!

$ brew install git
==> Downloading https://homebrew.bintray.com/bottles/git-2.4.4.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring git-2.4.4.yosemite.bottle.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The "contrib" directory has been installed to:
  /usr/local/share/git-core/contrib


Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
?  /usr/local/Cellar/git/2.4.4: 1373 files, 32M

gitコマンドも実行できた
AndroidStudioでもエラーが起きなかった

もしかしたら一番最初のエラーの時にCommandLineToolだけダウンロードして、xcode-select -switchすれば解決したかも?
余裕のある方は是非お試しを