「gyp: No Xcode or CLT version detected!」を修正する


No Xcode or CLT version detected

npm install や yarn install などで以下のエラーが発生。

gyp: No Xcode or CLT version detected!
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
...

macOS Catalina でバージョンをアップデートすると発生する模様。

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: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you an update run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/more/.

Command Line Tools を再インストールすれば解決する模様。


Command Line Tools の再インストール

Command Line Tools の再インストール。

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

既にインストールされているので、ソフトウェア・アップデートから行え というエラー。


ちなみに、xcode-select は Xcodeツールの切り替えを行うコマンド。

以下のようにすることで特定のパスの開発ツールへの切り替えができる。

xcode-select --switch  /Applications/Xcode.app

現在のパスは以下のように見ることができる。

$ xcode-select -print-path
/Library/Developer/CommandLineTools


ソフトウェア・アップデート

ソフトウェア・アップデートは softwareupdate コマンドが使える。

以下で更新可能な一覧を取得できる。

$ softwareupdate --list

更新可能な一覧から選び、以下のようにアップデートすることができる。

$ softwareupdate --install 'Command Line Tools for Xcode-XX'


しかし今回は以下のように可能な更新は表示されず。

$ softwareupdate --list
Software Update Tool

Finding available software
No new software available.


Command Line Tools の強制再インストール

xcode-select -print-path で出力されたパス以下を全て削除。

$ sudo rm -rf /Library/Developer/CommandLineTools


その後、xcode-select --install で再インストール。

$ sudo xcode-select --install

f:id:Naotsugu:20200624233831p:plain

同意画面を挟み、

f:id:Naotsugu:20200624233847p:plain

f:id:Naotsugu:20200629193731p:plain

f:id:Naotsugu:20200629193747p:plain


Command Line Tools がインストールできないケース

たまに xcode-select --install でインストールに失敗する場合がある。

f:id:Naotsugu:20200624233905p:plain

少し時間を置いて再度行えばインストールできるようになるはずだが、急ぐ場合は https://developer.apple.com/download/more/ からパッケージをダウンロードして手動でインストールすることもできる。

Apple ID でログイン後、

f:id:Naotsugu:20200629194603p:plain

Command Line Tools for Xcode XX.X の dmg をダウンロード

f:id:Naotsugu:20200624234326p:plain

パッケージをダブルクリックでインストール開始

f:id:Naotsugu:20200624234556p:plain

f:id:Naotsugu:20200624234611p:plain


Command Line Tools のバージョン確認

Command Line Tools のバージョンは以下で確認できる。

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

package-id: com.apple.pkg.CLTools_Executables
version: 11.5.0.0.1.1588476445
volume: /
location: /
install-time: 1593009924
groups: com.apple.FindSystemFiles.pkg-group

これにてエラーが解消される。