npm installでnode-gyp rebuildが失敗するときの対応

icon by Icons8

エラー内容

npm install を実行したときに node-gyp rebuild で失敗し、以下のようなエラーが発生することがあります。

> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

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: No Xcode or CLT version detected! とあるように Xcodeが原因で発生しているエラーのようです(詳しい原因はちょっとわかっていません)

こちらのエラーを解消して、 npm install を実行できるようにする方法をまとめました。

対応

まずは以下のコマンドをターミナルで実行してください。

$ xcode-select -print-path

/Library/Developer/CommandLineTools と表示されることを確認してください。

次に表示されたファイルを削除します。(もしxcode-select -print-path の結果が本記事と異なる場合は、以下のコマンドの指定パスを変更してください。)

$ sudo rm -rf /Library/Developer/CommandLineTools

ファイルを削除したあとに再度Xcodeをインストールします。

$ xcode-select --install

インストールでエラーが発生していないことが確認できれば、 npm install を実行できるようになります。

$ npm install

参考

https://github.com/schnerd/d3-scale-cluster/issues/7