1

Я недавно установил iTerm2 и ZSH (с oh-my-zsh) после нескольких месяцев очень легкого использования стандартного терминала в Mac OS.

Я слышал об инструменте под названием "z" и установил его с помощью brew install z . Я использовал его на одну ночь без проблем. Позже он перестал работать, говоря zsh: command not found: z . Я попытался установить его снова, и был встречен с Warning: z-1.8 already installed .

Как это имеет смысл? Он установлен, но команда не найдена? Как я могу пойти на восстановление этой функциональности?

Спасибо!

3 ответа3

6

Список файлов, установленных формулой Homebrew, можно просмотреть с помощью brew list -f <formula_name> . В этом случае вывод должен понравиться

> 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 .

1

в Mac OSX с iterm2 с Zsh просто положить:

Первый:

vim ~/.zshrc

и добавьте эту строку (или просто добавьте z)

plugins=(
    git
    z
)

выход с

:x!

вот и все.

0

Я считаю, что Brew устанавливает файлы в /usr/local/bin а не в /usr/bin чтобы избежать необходимости иметь привилегии root. Часто это требует добавления в $PATH (каталоги по умолчанию для поиска приложений и скриптов), особенно если вы изменили оболочки. После добавления у вас снова должен быть доступ ко всем установленным вами командам Brew.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .