【Mac】【Homebrew】brew doctorを実行した時に「Warning: Unbrewed dylibs were found in /usr/local/lib」と表示される⑥

Homebrewのインストール後、実際に運用していく前に、Homebrewに潜在的な問題がないかチェックするためのコマンド「brew doctor」を実行します。問題がない場合は「Your system is ready to brew.」というメッセージが表示されますが、問題がある場合は「Warning: ……」を冒頭に記した箇条書きで指摘されます。

私は問題点が見つかったため、Warningの箇条書きが4つ表示されました。。。今回は表示されたWarningの1つ「Warning: Unbrewed dylibs were found in /usr/local/lib」の解決方法をお伝えします。

もくじ

brew boctorの実行

Homebrewのインストール手順は別の記事に書いています。インストールを初めてされる方は見てみてください。

【Mac】【Homebrew】パッケージ管理システム「Homebrew」をインストールする①

今回は、Macで動作するツールで、ソフトウェアのインストール、アンインストールをターミナルのコマンドラインだけで行えたり、インストール時にパッケージ間の依存関係を自動で解決してくれるな… [more]

brew boctorを実行してみる

Homebrewのインストールが完了したら、次はHomebrewに潜在的な問題がないかチェックしましょう。使用前に潜在的なトラブルに対応できれば、その後の大きなトラブルを回避できる可能性が高まるからです。

潜在的な問題点をチェックするためのコマンドは下記です。

$ brew doctor

「brew doctor」については別の記事にもしましたので、気になった方は見てみてくださいね。

【Mac】【Homebrew】「brew doctor」の使い方④

今回は、Homebrewのインストールか完了した後、Homebrewを使用していく上で潜在的な問題がないかチェックできるコマンド「brew doctor」の使い方をお伝えします。 br… [more]

話しを戻しましょう。

「brew doctor」を実行して何も問題がない場合は、

Your system is ready to brew.

と表示されます。問題なく使えそうですね。

もし潜在的な問題がある場合は「Warning: ……」を冒頭に記した箇条書きで指摘されます。問題の解決策も同時に示されますので、それに従えば問題解決に向かえます。

私は問題点が見つかったため、Warningの箇条書きが4つ表示されました。

「Warning: Unbrewed dylibs were ……」が表示される

今回は表示されたWarningの1つ「Warning: Unbrewed dylibs were found in /usr/local/lib」を扱います。このWarningの全文は以下です。

Warning: Unbrewed dylibs were found in /usr/local/lib.
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/librtmp.dylib


(日本語訳)
警告:期待されないdylibが/usr/local/libの中に見つかった。もしあなたが意図的にそれらをそこから動かさないならば、Homebrew formulaeを作成する時、それらは問題を引き起こすかもしれない。そしてそれらは削除される必要があるかもしれない。

期待されないdylib:
  /usr/local/lib/librtmp.dylib

警告文中に「期待されないdylibsを削除する必要があるかもしれない」と書かれているので、その指示に従って期待されないdylibsを削除します。期待されないdylibsは「Unexpected dylibs:」以下にリストアップされています。

期待されないdylibリストが1つだけの場合の解決策

私の場合はリストアップされたものが「/usr/local/lib/librtmp.dylib」1つだけでしたので、コマンドラインで削除しました。

削除は以下のようなコマンドを実行します。

$ rm -f /usr/local/lib/librtmp.dylib

これで該当のdylibsが削除されました。

期待されないdylibリストが複数ある場合の解決策

もしもリストアップされたものがたくさんある場合は、それらを削除するためのファイルを作成して一度に削除した方が作業を省略できますので、ファイルを作成する方法をお伝えします。まずは拡張子を「.sh」にしたファイルを作成し、コマンドラインでOSに指令するためのコードを書きます。

$ vim ~/.del_files.sh

このコマンドを実行すると「〜」が縦に並んでいるファイル「.del_files.sh」に移動します。

「i」を押してインサートモードに切り替えください。一番下のコマンドラインに「INSERT」と表示されていれば、インサートモードに切り替わっています。

インサートモードになったらこのファイルに文字入力ができるようになります。

1行目に「#!/bin/bash」を入力し、2行目以降に「Unexpected dylibs:」以下に記載されているディレクトリ+ファイル名をコピペします。私の場合は「/usr/local/lib/librtmp.dylib」1つだけですので、以下のようになります。

#!/bin/bash
/usr/local/lib/librtmp.dylib

入力が終わったら「esc」を押します。そうすると、インサートモードからコマンドモードに戻るので、コマンドモードに戻った状態でさらに「ctrl + v」を押してビジュアルモードに移行させ、「:」を押します。

すると、一番下のコマンドラインに「 :'<,'>」がすでに入力された状態で表示されるので、続けて「 s/^/rm -f /」と入力してEnterを押します。そうすると、先ほどコピペした全てのディレクトリ+ファイル名の先頭に「rm -f」が追加されます。

#!/bin/bash
rm -f /usr/local/lib/librtmp.dylib

この状態になったら「:wq」を入力します。このコマンドは「内容を保存してファイルを閉じる」という命令です。

上記のコマンドを実行すると通常のターミナルに戻るので、下記のコマンドを実行します。

$ bash ~/.del_files.sh

これは先ほど作成したファイルを実行するコマンドです。これでリストアップされていたdylibsが全て削除されて、このWarningは解決しました。

Warningの形で箇条書きされた問題点はあと3つあります。これらは別の記事にしましたので、同様の問題を抱えている方は見てみてください。

【Mac】【Homebrew】brew doctorを実行した時に「Warning: "config" scripts exist outside your system or Homebrew directories」と表示される⑤

私は問題点が見つかったため、Warningの箇条書きが4つ表示されました。。。今回は表示されたWarningの1つ「Warning: "config" scripts exist ou… [more]

【Mac】【Homebrew】brew doctorを実行した時に「Warning: You are using macOS 10.13」と表示される⑦

私は問題点が見つかったため、Warningの箇条書きが4つ表示されました。。。今回は表示されたWarningの1つ「Warning: You are using macOS 10.13… [more]

【Mac】【Homebrew】brew doctorを実行した時に「Warning: /usr/bin occurs before /usr/local/bin in your PATH」と表示される⑧

私は問題点が見つかったため、Warningの箇条書きが4つ表示されました。。。今回は表示されたWarningの1つ「Warning: /usr/bin occurs before /u… [more]

まとめ

リストアップされたものが複数ある場合は少々面倒くさいですが、手順通りに進めればこのWarningは表示されないようになります。同じ問題を抱えている方は私の方法を参考にしてみてください。