umetaberu

umetaberu

プログラミング技術に関するメモ書き

xcode-select --switchが反映されない時

何が起きた?

git submodule updateをしたときにエラー「active developer path...does not exist」が発生した。
原因はXcodeを複数入れていて古いバージョンを整理した時、Xcodeコマンドラインツールのパス「$DEVELOPER_DIR」のパスが前のXcodeのバージョンのパスになってたことだった。

user@myMacbookPro ~ %  xcode-select -print-path ←今設定されているコマンドラインツールのパスを確認する
/Users/userName/Downloads/Xcode-beta.app/Contents/Developer ←前使ってたベータ版Xcodeのパスになってる

user@myMacbookPro ~ %  sudo xcode-select --switch /Users/userName/Downloads/Xcode-beta.app/Contents/Developer ←管理者権限でパスを書き換える

user@myMacbookPro ~ %  xcode-select -print-path ←再度確認する
/Users/userName/Downloads/Xcode-beta.app/Contents/Developer ←変わらない!?

結論

bash_profile」または「zshrc」の方に$DEVELOPER_DIRを記述していればそっちも変えること

解決に至るまで

はじめに何も考えずにエラー内容で解決方法をググるXcodeコマンドラインツールのパスが存在しないか間違ってるかだった。
コマンドラインツールのパスを確認する方法は下記の2通りあるらしく、どちらも試したが解決できなかった。
Xcodeから確認する方法
②コマンドで確認する方法

なんでや?と思い、ふと環境変数を確認するとそっちにも$DEVELOPER_DIRを記述していて
それを今のXcodeコマンドラインツールの正しいパスに直すと解決できた。

open ~/.bash_profile
open ~/.zshrc ←zshの人はこっち

テキストエディタで編集して保存する

最後に更新することを忘れない

source ~/.zshrc

まとめ

Xcodeコマンドラインツールのパスを確認する方法は2つでなく、3つある(①②でダメなら3つ目が重要)
 ①Xcodeから確認する方法
 ②コマンドで確認する方法
 ③bash_profileかzshrcファイルから確認する方法

・視野を広く持つ
・エラーログ見るときはちゃんと考える。