TOP(About this memo)) > 一覧(Mac) > Xcode Command Line Tools (CLT)
/Applications/Xcode.app/Contents/Developer/Library/Developer/CommandLineToolsxcode-select -p
/Applications/Xcode.app/Contents/Developer/Library/Developer/CommandLineToolssudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcode-select -p
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
version: 15.3clang --version
Apple clang version 17.0.0xcodebuild -version
Xcode 26.2
Build version 17C52
softwareupdate --list
Command Line Tools for Xcode-16.4 のように表示される。Error: Your Command Line Tools are too outdated.
Update them from Software Update in System Settings.
brew config で CLT: の項目を確認すると、Homebrewが認識しているCLTのバージョンが分かる。brew config
CLT:
Xcode:
macOS:
xcode-select -p の出力は、あくまで「どの開発ツールディレクトリを使うか」という設定であり、CLTパッケージ自体のインストール状態・バージョンとは別で管理されている。com.apple.pkg.CLTools_Executables 等)がインストールされているかどうかを、pkgutilのレシート(インストール受信記録)としてxcode-selectの設定とは独立に保持している。brew doctor/brew configは、xcode-selectの向き先だけを見ているわけではなく、pkgutil --pkg-info=com.apple.pkg.CLTools_Executablesなどを直接呼び出してCLTパッケージのバージョンを取得し、Homebrewが要求する最低バージョンと比較している。
xcode-select -pがXcode.app側を指していても、システムにインストールされているCLTパッケージ自体のバージョンが古ければ、Homebrewからは「古い」と判定される。xcode-select -pが/Applications/Xcode.app/Contents/Developerを指していたにもかかわらず、CLTのバージョン15.3が原因でエラーになった)はこれに該当する。softwareupdate --list で表示されたバージョン名を指定してインストールする。sudo softwareupdate --install "Command Line Tools for Xcode-16.4"
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables でバージョンが上がっていることを確認する。sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
softwareupdate --install "Command Line Tools for Xcode-x.x" で更新することで解消した。xcode-select --switch は「どの開発ツール環境(XcodeかCLTか)を使うか」を切り替えるコマンドであり、CLTのバージョン更新そのものとは別物。/Applications/Xcode.app/Contents/Developer を利用している状態であれば、CLT更新後に --switch を改めて実行する必要はない。