Сломанный терминал

24

Я получил это сообщение Terminal.appпри запуске

dyld: Library not loaded: /usr/local/opt/gdbm/lib/libgdbm.4.dylib
  Referenced from: /usr/local/bin/zsh
  Reason: image not found

[Process completed]

Я нашел несколько ссылок по этой проблеме.

Но проблема в том, что я не могу запустить приложение терминала, поэтому я не могу попробовать brew doctorили другие варианты.

Переустановка невозможна Terminal app, другое приложение терминала (iTerm2) вообще не работает.

Есть ли способ исправить эту проблему без переустановки OSX?

Мегас
источник

Ответы:

23
  1. Выберите «Оболочка» → «Новая команда».

  2. Запуск chsh -s /bin/bashи убедитесь , что де выберите «Выполнить команду внутри оболочки».

  3. Введите пароль учетной записи пользователя в ответ на приглашение изменить оболочку на / bin / bash.

Grg
источник
2
Аналогичное решение может быть сделано из iTerm2. Добавьте новый «Профиль», убедитесь, что «Команда» установлена ​​из «Оболочки входа» в «Команда» и введите «/ bin / sh» в качестве команды (или / bin / bash, что угодно, кроме zsh). Это позволит вам вернуться в командную строку, а затем вы можете следовать приведенному ниже решению @Robert J Berger.
Унапьедра
Я был в состоянии сделать это, а затем пошёл от шага к ответу «brew», после чего снова изменил оболочку zsh.
Билл Моте
36

Ты бегаешь по Zsh? Я вижу аналогичную проблему при запуске iTerm2. Кажется, это проблема с Zsh, а не с терминалом или iTerm2. Просто начал происходить со мной.

Если вы установили zsh с помощью Homebrew и у вас возникла эта проблема, у меня сработало следующее:

brew reinstall zsh && brew unlink zsh && brew link zsh

Если вы не установили zsh с помощью Homebrew, игнорируйте это :-)

Роберт Дж Бергер
источник
4

Думаю, проще:
скачай iTerm2 и brew update && brew upgrade zshу меня получилось ;-)

Жоэль
источник
Это легко, когда не удается запустить терминал :)
мегас
@megas Действительно, я использовал iTerm2 (забыл упомянуть об этом!) :)
Joël
ОП уже сказал в вопросе, что «другое терминальное приложение (iTerm2) вообще не работает»
grg
В этом случае, возможно, попытка терминала github.com/zeit/hyper может помочь
Joël
3

Чтобы иметь возможность исправить мой терминал / iterm2 / hyper (все были сломаны из-за неработающей zsh), мне пришлось сначала изменить настройки моего терминала «Оболочки открыты с» из настраиваемой команды в оболочку входа по умолчанию

введите описание изображения здесь

Уловка из @grg не сработала для меня. С этими изменениями я смог обновить свой zsh с помощью homebrew, как предлагалось в других ответах, и все три приложения снова заработали, как и ожидалось.

coderuby
источник
2

После поиска некоторое время это решило это для меня:

brew reinstall ncurses
Андреас Биггер
источник
1
Это легко, когда вы можете запустить терминал :)
Мегас
В терминале вы можете команду с сочетанием клавиш Shift + Command + N.
SilentGuy