私は最近、Mac OSでストックターミナルを数か月間非常に軽く使用した後、iTerm2とZSH(oh-my-zshを使用)をインストールしました。
「z」というツールを聞いて、brew install z
を使用してbrew経由でインストールしました。一晩問題なく使用しました。その後、zsh: command not found: z
と言って、動作を停止しました。もう一度インストールしてみたところ、Warning: z-1.8 already installed
に出会った。
これはどのように意味がありますか?インストールされていますが、コマンドが見つかりませんか?この機能を復元するにはどうすればよいですか?
ありがとう!
brew list -f <formula_name>
を介してHomebrew式によってインストールされたファイルのリストを調べることができます。この場合、出力は次のようになります。
> brew list -f z
/usr/local/Cellar/z/1.9/etc/profile.d/z.sh
/usr/local/Cellar/z/1.9/INSTALL_RECEIPT.json
/usr/local/Cellar/z/1.9/README
/usr/local/Cellar/z/1.9/share/man/man1/z.1
この場合、コマンドはなく(bin
もありません)、z.sh
だけであることに注意してください。 z
はシェルツールであり、シェル環境を取得および設定する関数としてシェルにソースする必要があるため、これは理にかなっています。外部コマンドとして実行しても、十分に深い統合は提供されません。したがって、おそらくz.sh
、.bash_profile
、または.bashrc
で.zshrc
をシェルにソースする必要があります。
通常、使用可能にするためにインストール後の相互作用を必要とするHomebrew式には、警告にリストされた指示があります。これは、インストール後に表示されるか、brew info <formula_name>
を介して手動で取得されます。この場合、
> brew info z
<irrelevant info omitted>
==> Caveats
For Bash or Zsh, put something like this in your $HOME/.bashrc or $HOME/.zshrc:
. `brew --prefix`/etc/profile.d/z.sh
もちろん、そのアドバイスを一粒の塩で受け止め、より現代的で人間が読めるシェル構文を使用する必要があります。
source "$(brew --prefix)/etc/profile.d/z.sh"
または
source /usr/local/etc/profile.d/z.sh
homebrewのインストールが/usr/local
にあることがわかっている場合。
mac osxでiterm2とzshを使用すると、次のようになります。
最初:
vim ~/.zshrc
この行を追加します(または単にzを追加します)
plugins=(
git
z
)
で終了
:x!
それでおしまい。
Brewは、ルート特権の必要性を回避するために、/usr/local/bin
ではなく/usr/bin
にインストールすると思います。多くの場合 これは追加する必要があります$PATH
(アプリケーションとスクリプトを探すためのデフォルトディレクトリ)-特にシェルを変更した場合。追加すると、Brewがインストールしたすべてのコマンドに再びアクセスできるようになります。