gyp: No Xcode or CLT version detected!
こんにちは! うしじです。
ブログに目次を付けようと、Gatsbyのプラグインのインストール等を行っていたのですが、gyp: No Xcode or CLT version detected!
といった変なエラーが出ました。 macOS Catalinaの場合に、node-gyp のエラーが起きるらしく、解決できたのでその方法を記載しておきます。
エラー内容
エラーの全文は下記の通り。
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
gyp: No Xcode or CLT version detected!
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/Users/username/.nvm/versions/node/v10.20.1/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack at ChildProcess.emit (events.js:198:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Darwin 19.4.0
gyp ERR! command "/Users/username/.nvm/versions/node/v10.20.1/bin/node" "/Users/username/.nvm/versions/node/v10.20.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/username/my_blog/node_modules/fsevents
gyp ERR! node -v v10.20.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
環境
- Mac OS X: 10.15.4
- node.js: v10.20.1
解決方法
本エラーの解決方法ですが、基本的には下記の記事を参考にして対応すれば大丈夫なようです。
以下に私の場合の解決手順を記載していきます。
1. acid test
まずは、node-gyp
が問題なくインストールできる状態か確認します。
コマンドを実行しても何も表示されません。。ダメなようです。
% /usr/sbin/pkgutil --packages | grep CL
% /usr/sbin/pkgutil --pkg-info com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
2. Xcodeのインストール確認
Xcode Command Line Toolsはインストールされており、最新なようです。でも動きません。。
仕方がないので、再インストールすることに。
% xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
% xcode-select --version
xcode-select version 2373.
% softwareupdate --list
Software Update Tool
Finding available software
No new software available.
3. Xcodeのアンインストールと再インストール
下記のコマンドを実行し、Xcodeをアンインストールし、再インストールします。
% sudo rm -rf $(xcode-select -print-path)
Password:
% sudo rm -rf /Library/Developer/CommandLineTools
% xcode-select --install
xcode-select: note: install requested for command line developer tools
4. acid test (再テスト)
再度acid testを実施。ようやくテストに通りました!
バージョンも問題がないようです。これで node-gyp のインストールに進めます。
% /usr/sbin/pkgutil --packages | grep CL
com.apple.pkg.CLTools_Executables
com.apple.pkg.CLTools_SDK_macOS1015
com.apple.pkg.CLTools_SDK_macOS1014
com.apple.pkg.CLTools_macOS_SDK
% /usr/sbin/pkgutil --pkg-info com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 11.4.1.0.1.1586360307
volume: /
location: /
install-time: 1589848047
groups: com.apple.FindSystemFiles.pkg-group
% softwareupdate -l
Software Update Tool
Finding available software
No new software available.
% xcode-select -version
xcode-select version 2373.
% xcode-select -print-path
/Library/Developer/CommandLineTools
5. node-gypインストール
最後に、node-gypをインストールして完了です。
% npm install node-gyp
これでようやくエラーが出ないようになりました。