Homebrew formulae, and may need to be deleted.

Homebrewを使ってあれこれインストールしてたら、エラーになって、その時の対処法メモ。

brew doctorコマンドを実行すると以下のような警告が。

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/node/libplatform/libplatform.h
  /usr/local/include/node/libplatform/v8-tracing.h
  /usr/local/include/node/node.h
  /usr/local/include/node/node_api.h
  /usr/local/include/node/node_api_types.h
  /usr/local/include/node/node_buffer.h
  /usr/local/include/node/node_object_wrap.h

これらのファイルを削除してくれとのこと。

vimでもいいけど、使いにくいので普通にエディタで編集。

$ touch .del_files.sh

.del_files.shに削除したいファイルを記述。

#!/bin/bash
  /usr/local/include/node/libplatform/libplatform.h
  /usr/local/include/node/libplatform/v8-tracing.h
  /usr/local/include/node/node.h
  /usr/local/include/node/node_api.h
  /usr/local/include/node/node_api_types.h
  /usr/local/include/node/node_buffer.h
  /usr/local/include/node/node_object_wrap.h

あとは、bash ~/.del_files.shを実行すれば終了。

$ bash ~/.del_files.sh

ただし、npm関連のファイルを削除しようとするとこんな感じのエラーになったので、npmのデフォルトディレクトリの権限を変更します。

$ /Users/boku/.del_files.sh: line 2: /usr/local/include/node/libplatform/libplatform.h: Permission denied
$ npm config get prefix
/usr/local
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

とすれば解決するのかと思いましたが、またしても権限エラー。なので結局力押しで、.del_files.shを以下のように変更。

#!/bin/bash
 sudo rm -rf /usr/local/include/node/libplatform/libplatform.h
 sudo rm -rf /usr/local/include/node/libplatform/v8-tracing.h

なんかうまくいったみたい。

$ bash ~/.del_files.sh
$ brew doctor
Your system is ready to brew.

See Also