Mac使い出して2年も経つのに、未だに黒い画面が怖いわたくし。黒い画面にもうちょっと慣れ親しむ必要があるなぁと思いまして、意を決してbashから離れて最強のシェルと呼ばれる?zshを使い始めました。まずは純正のTerminalよりも便利に使えるターミナルエミュレータiTerm2なんかを入れました。そもそもMacにはデフォルトでzshが入ってますが、バージョンが古いのでHomebrewでバージョンの新しいzshをインストールし、oh-my-zshなんかも入れてゴニョゴニョしてテーマも変えたら……あら、とってもカラフルなコマンドライン環境のできあがり。
bashだとあまりにも素っ気なくて黒い画面がどうしても好きになれそうに無かったけど、これならきっと好きになれる…そんな気がしてウキウキしていたんですが、問題が発生。zsh環境に移行したら、brewコマンドもvagrantコマンドもまったく効かなくなりました。
% brew doctor
zsh: command not found: brew
% vagrant up
zsh: command not found: vagrant
ヽ(д`ヽ)。。オロオロ。。(ノ´д)ノ
bashの時は普通に使えていたのに…なぜにcommand not found?
初心者なのにエラー出さないでよ(´;ω;`)
ということで、頑張って調べて自力で解決してみました。
症状
bashからzshにしたとたんに、brewコマンドやvagrantコマンドが「command not found」となって使えなくなった。
私の環境
- クリーンインストールしたEl Capitan(10.11.4)
- VirtualBoxとvagrantのdmgファイルを公式サイトからダウンロードしてインストール、適当なBoxを追加してCentOS環境を構築(正常動作を確認済み)
- Homebrew経由で最新のzshをインストールし、そのzshをログインシェルに変更してoh-my-zshを導入。
対処法
echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin
echo $PATH
このコマンドでPATHがどこに通ってるのか?
を調べてみますと…
ということで、どうやら/usr/local/bin
にPATHが通ってない事が分かりました。この「/usr/local/bin」にパスが通ってないと、brewコマンドなんかがcommand not foundになってしまうようです。
vi ~/.zshrc
そこで、エディタは何でも良いのですが、ここではviで~/.zshrc
を編集して「/usr/local/bin」にパスを通すための追記をします。追記する場所はどこでも良いのですが……#User configurationあたりに1行追記してやると良いでしょう。
#User configuration
export PATH="/usr/bin:/bin:/usr/sbin:/sbin"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
# export MANPATH="/usr/local/man:$MANPATH"
追記をするのは、4行目ハイライト部分のexport PATH="/usr/local/bin:/usr/local/sbin:$PATH"
です。追記が終わったら上書き保存して、ターミナルを再起動しましょう。
これでbrewコマンドやvagrantコマンドが
普通に使えるようになっているはずです。
コメント