taccuma note

zshにしたらbrewコマンドもvagrantコマンドも使えなくなった時の対処法

command not found

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

このコマンドでPATHがどこに通ってるのか?
を調べてみますと…

/usr/bin:/bin:/usr/sbin:/sbin

ということで、どうやら「/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コマンドが
普通に使えるようになっているはずです。

この記事をシェアする

コメント

コメントは管理人の承認後に公開されます...

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最近の投稿

おすすめ

タグクラウド

カテゴリー

関連記事&スポンサーリンク