新しくインストールしたコマンドが即認識されない
環境
- macOS Mojave (Ver. 10.14.6)
- macOS標準Terminal
本投稿を書いている日(2019/11/13)の前日から「Zsh」を初めて使ってみている。
先人の環境構築How To記事を参考に無事にインストール完了。
さっそくZsh環境で個人開発を進めて行こうと張り切って「brew install ○○」と打ち込みとあるコマンドを導入し、そのまま同じターミナルで即そのコマンドを実行しようとしたところ**「そのコマンドは見つからない」**と言われてしまった。
はて?と思い、bash環境で同様に「brew install ○○」を試すと問題ない。
なんとも不便だと思いながら色々調べてみると、どうやらZshの問題らしい。
rehashする
参考 : コマンド入力を自動化する(シェルスクリプト) : Ippei Kishida
rehash はコマンドサーチパス内のコマンドを再読み込みしろ、という命令です。 zsh は起動したときのコマンド情報しか持っておらず、 ~/bin/runvasp はたった今追加されたのですから、 これを追加してやる必要があったわけです。
rehashという操作が必要だとのこと。
では、これを実際にZshに組み込むにはどうしたらいいか。
.zshrcまたは.zshenvに設定を追加
ズバリ解決策が見つかった。
参考 : zshが新しくインストールしたコマンドを認識しない問題への対処 : senooken.jp
さらに、上記記事の参考元
上記2つの記事を参考に、同様に設定を「.zshenv」に記述した。
zstyle ":completion:*:commands" rehash 1
こちらの設定後、問題なく「コマンドインストール、即認識」される状態となった。
改めて先人の情報に感謝申し上げる。