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.