Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

brew doctorでのWarningを解決してみた(for Mac)

More than 3 years have passed since last update.

環境

Mac : 10.11.5(OS X El Capitan)

brew doctorコマンドとは

インストールの問題のチェックを行うコマンド

試しにやってみたら沢山のWarningが出たので一つずつ解決していこうと思います。

警告_1

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

解決法

言われている通りのコマンドを打つだけです。
追加後、source で再読み込みを行います。

$ echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

警告_2

ディレクトリ毎に <PATH> の部分だけが違った以下のようなエラーが複数でる場合があります。

Warning: Unbrewed dylibs were found in <PATH>.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

このようなエラーの後に、例えば

Unexpected dylibs:
  /usr/local/lib/libopencv_calib3d.3.1.0.dylib
  /usr/local/lib/libopencv_core.3.1.0.dylib
  /usr/local/lib/libopencv_features2d.3.1.0.dylib
  /usr/local/lib/libopencv_flann.3.1.0.dylib
  /usr/local/lib/libopencv_highgui.3.1.0.dylib
  /usr/local/lib/libopencv_imgcodecs.3.1.0.dylib
  /usr/local/lib/libopencv_imgproc.3.1.0.dylib
  /usr/local/lib/libopencv_ml.3.1.0.dylib
  /usr/local/lib/libopencv_objdetect.3.1.0.dylib
  /usr/local/lib/libopencv_photo.3.1.0.dylib
  /usr/local/lib/libopencv_shape.3.1.0.dylib
  /usr/local/lib/libopencv_stitching.3.1.0.dylib
  /usr/local/lib/libopencv_superres.3.1.0.dylib
  /usr/local/lib/libopencv_video.3.1.0.dylib
  /usr/local/lib/libopencv_videoio.3.1.0.dylib
  /usr/local/lib/libopencv_videostab.3.1.0.dylib

という感じです。

解決法

Unexpected dylibs: に続くファイル一覧を rm -fで削除してあげます。
rm は、ファイルやディレクトリを削除してあげるコマンドで、 -f は、「削除しますか?」的なメッセージを都度出さないようにするオプションです。

手順1 対象となるファイル一覧をコピーして、shファイルに貼り付ける。

全てに rm -f を手作業で貼り付けで実行するのは大変なので、Vimを使って纏めてコマンドを作ってターミナルで実行します。

shファイル は人間の命令をコンピュータ様に伝えるファイル..じゃないかな。そんな感じ

まずは新規ファイルを作ります。

$ vim ~/.del_files.sh

ネーミングセンスがないのはほっといてください。

スクリーンショット 2017-03-24 18.10.09.png
ここに先程の対象となるファイルのパス一覧を貼り付けます。
1行目には #!/bin/bash を記述します。
参考URLとして、シバン (Unix)

スクリーンショット 2017-03-24 18.22.53.png

貼り付けし終わったら、
esc キーで コマンドモード に戻り、一旦 Ctrl + w で保存をします。

手順2 各行の先頭に「rm -f 」を追加する。

点滅カーソルが #!/bin/bash の行を除く1行目、今回でいう2行目にあるのを確認した後に

CTRL + v で 矩形選択のビジュアルモード にします。

次に、カーソルを 矢印キー↓ で下まで移動して範囲を選択します。
スクリーンショット 2017-03-24 18.34.02.png

選択し終わったら、 : を押します。
すると、下のラインに既に :'<,'> が入力された状態でコマンドラインが表示されるので、続けて s/^/rm -f / と入力します。
-f の後には 半角スペース を忘れずに。
今回は既に先頭にスペースが入ってるかもしれないので不要かもしれませんが。

このように入力し終わったら

スクリーンショット 2017-03-24 18.36.49.png

.
.
.
ENTER キー

スクリーンショット 2017-03-24 18.36.58.png
このようになるので、
Ctrl + wq で保存・ファイルを閉じます。

手順3 shファイルを実行する。

これは直ぐに終わります。
もとのターミナルに戻ってきたら、

$ bash ~/.del_files.sh

を実行するだけです。
一瞬で終わります。

手順4 デッドリンクになってしまったものを削除

手順2が終わった後に、試しに brew doctor をしてみると以下のようなエラーがでる場合があります。

Warning: Broken symlinks were found. Remove them with `brew prune`:
<以下ファイルパス>

この場合、警告で言われている通り brew prune をコマンドで叩けば解決します。

警告_3

Warning: A newer Command Line Tools release is available.
Update them from Software Update in the App Store.

解決法

App StoreからCommand Line Toolsをアップデートするだけです。

スクリーンショット 2017-03-24 17.28.08.png

終わり

$ brew doctor
Your system is ready to brew.

と表示されたら Mission complete.

FrogWoman
(Qiitaに書いてる理由)自分用のメモでもあり、自分が躓いたところで他の人が同じように躓いて時間を無駄にするようなことが減るといいなあと思い書いてます。 間違い等があれば指摘してもらえると有難いです
http://frogwoman.hatenablog.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away