あれ、brewで導入したxxxがcommand not foundだぞという時の対処

投稿者: | 2016-12-06

概要

備忘録です。今夏に行ったインターンの見直しでもしようと思ってmacでolsrdを立ち上げようと思ったらcommand not foundを吐き出しました。恥ずかしながら、ここら周りの問題について、ぼんやりとした知識はあれど、具体的な解決法の心得に乏しかったので、色々調べて見ることにしました。


解決方法

結論から言うと、/usr/local/sbinへのパスが通ってないだけでした。

同じような状況の方の投稿(superuser.com)を発見したのでそれを参考にしました。.bash_profileに以下を書き足してターミナルを再起動なりsourceコマンドを叩くするなりします。

export PATH="/usr/local/sbin:$PATH"

要は、「brewで取得したパッケージは/usr/local/sbinにリンク作ることもあるよ。sbinはデフォでパス通ってないから通しとけよ」ということなのでしょうか。あれ、インターンの時通しておかなかったっけ。もしかしてexportしてただけかもしれませんね。ずっとターミナル付けっ放しだったし。ちなみに$PATHをちゃんと一緒に通しておかないと.bash_profileに記述した順番や内容によってはコマンドが大体死滅します。そりゃ思いっきり上書き(≠結合)してるんだから当たり前体操ですね。そういう時は別の手段で編集したり、exportで復活させるなりさせましょう。

ユーザを分けていなかったりするなら/etc/pathsに/usr/local/sbinを書き足しても良いらしいです。適当に

$ vi /etc/paths

しましょう。


結果

無事olsrdを起動できました。環境変数についても少し復習できました。そういえば、前に講義でMaudeをやらされた時も、環境変数周りで導入に困った記憶があります。いつまで経っても知りませんじゃ通らないので、こういった機会にキチンと復習できてよかったです。

hoge