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


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.


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, как предлагалось в других ответах, и все три приложения снова заработали, как и ожидалось.


2

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

brew reinstall ncurses

1
Это легко, когда вы можете запустить терминал :)
Мегас

В терминале вы можете команду с сочетанием клавиш Shift + Command + N.
SilentGuy
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.