Зламаний термінал


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 нижче.
Унапіедра

Я зміг це зробити, і тоді кроки з відповіді "варити", після чого я повернув оболонку назад на zsh.
Білл Мот

36

Ви запускаєте zsh? Я бачу подібну проблему під час роботи iTerm2. Здається, це проблема із zsh, а не з Terminal або 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.