Terminal quebrado

24

Recebi esta mensagem na Terminal.appinicialização

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

[Process completed]

Encontrei alguns links sobre esse problema.

Mas o problema é que não consigo executar o aplicativo de terminal, portanto, não é possível tentar brew doctorou outras opções.

Não é possível reinstalar Terminal app, outro aplicativo de terminal (iTerm2) não está sendo executado.

Existe uma maneira de corrigir esse problema sem reinstalar o OSX?

megas
fonte

Respostas:

23
  1. Escolha Shell → Novo comando….

  2. Execute chsh -s /bin/bashe certifique-se de selecionar 'Executar comando dentro de um shell'.

  3. Digite a senha da sua conta de usuário no prompt para alterar seu shell novamente para / bin / bash.

grg
fonte
2
Uma solução semelhante pode ser feita a partir de iTerm2. Adicione um novo "Perfil", verifique se o "Comando" está definido em "Shell de login" como "Comando" e digite "/ bin / sh" como o comando (ou / bin / bash, qualquer coisa, exceto zsh). Vamos voltar à linha de comando e seguir a solução de @Robert J Berger abaixo.
Unapiedra
Eu era capaz de fazer isso e, em seguida, as etapas da resposta "fermentação" seguiam alterando meu shell de volta para zsh.
Bill Mote
36

Você está executando o zsh? Estou vendo um problema semelhante ao executar o iTerm2. Parece haver um problema com o zsh e não com o Terminal ou o iTerm2. Apenas começou a acontecer comigo.

Se você instalou o zsh com o Homebrew e está com esse problema, o que funcionou para mim foi:

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

Se você não instalou o zsh com o Homebrew, ignore isso :-)

Robert J Berger
fonte
4

Mais fácil, eu acho:
Baixe o iTerm2 e brew update && brew upgrade zshfuncionou para mim ;-)

Joël
fonte
É fácil quando você não pode iniciar um terminal :)
megas
@megas Na verdade, eu usei iTerm2 (esqueci de mencionar isso!) :)
Joël
O OP já disse na pergunta que "outro aplicativo de terminal (iTerm2) não está sendo executado"
grg
Nesse caso, talvez tentando github.com/zeit/hyper terminal poderia ajudar
Joël
3

Para poder consertar meu terminal / iterm2 / hyper (todos foram interrompidos por causa do zsh quebrado), primeiro tive que alterar as configurações do terminal 'Shells open with' de um comando personalizado para o shell de login padrão

insira a descrição da imagem aqui

O truque do @grg não funcionou para mim. Com essas alterações, fui capaz de atualizar meu zsh via homebrew, conforme sugerido nas outras respostas, e os três aplicativos funcionaram como esperado novamente.

coderuby
fonte
2

Depois de procurar por um tempo, isso resolveu para mim:

brew reinstall ncurses
Andreas Bigger
fonte
1
É fácil quando você pode começar um terminal :)
megas
No terminal, você pode executar um comando com as teclas de atalho Shift + Command + N.
SilentGuy 2/12