2 votos

Comando no encontrado: /usr/local/bin/zsh

Desinstalo homebrew en un Mac Mini M1 para volver a instalarlo.

Tras abrir un terminal para ejecutar el shell de instalación script, el terminal produce la siguiente salida y queda inutilizado.

[Command not found: /usr/local/bin/zsh]

[Could not create a new process and open a pseudo-tty.]

He entrado en el modo de recuperación y he intentado restablecer la ruta con:

mount -uw /         
ln -s /usr/local/bin/zsh /usr/bin/

y luego volver a intentarlo sin éxito.

Me dirigieron a este canal en los comentarios de https://stackoverflow.com/q/70522270/2336356 donde se sugiere que abra una nueva terminal y haga algunos cambios:

O bien has cambiado tu shell de inicio de sesión a /usr/local/bin/zsh, o has configurado tu perfil de Terminal por defecto para que inicie /usr/local/bi/zsh en lugar de tu shell de inicio de sesión. En cualquiera de los casos, puedes indicarle a Terminal qué proceso ejecutar en una nueva ventana de terminal.

Sin embargo, cualquier terminal que abro, ya sea, iterm de kitty, por ejemplo, salir del proceso inmediatamente después de la apertura. Este comportamiento comenzó al mismo tiempo.

Esto ha sucedido una vez antes en un Mac Intel y fui capaz de solucionarlo entrando en otro usuario administrador que había sido configurado en caso de que algo loco como esto sucediera. Parece que esta vez no puedo solucionarlo.

Cualquier orientación sobre una solución sería muy apreciada.

Actualización

Aquí hay un error diferente que apunta al mismo problema en el terminal por defecto:

Último acceso: Wed Dec 29 19:09:59 on ttys001 login: /usr/local/bin/zsh: No such file or directory

[Proceso finalizado]

Entonces me encontré con esta cuestión https://apple.stackexchange.com/a/126303/174950 y cambié a un usuario diferente y pude cat /etc/shells como el usuario afectado:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish
/usr/local/bin/pwsh
/usr/local/bin/zsh

He eliminado /usr/local/bin/zsh y ahora sí:

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish
/usr/local/bin/pwsh

Sigue sin funcionar. Tal vez tenga que quitar el ln -s /usr/local/bin/zsh /usr/bin/ ¿Symlink ejecutado anteriormente?

0 votos

Homebrew en un M1 no está en /usr/local - básicamente la solución es eliminar todas las entradas /usr/local para /etc/shells La lectura de documentos homebrew en donde la ruta es. También ¿por qué utilizar un zsh en /usr/local por qué no utilizar el suministrado por Apple uno

1 votos

Puede seleccionar temporalmente un shell diferente en las preferencias de la aplicación Terminal. No en una ventana de Terminal -- eso no funciona, sino en el menú Terminal > Preferencias. Véase mi respuesta a esta pregunta para más detalles. Una vez que lo tengas funcionando, puedes usar chsh para cambiarlo permanentemente (y eliminar la anulación de prefijos de Terminal), o reinstalar /usr/local/bin/zsh (y eliminar la anulación de prefijos de Terminal).

8voto

staffan Puntos 3299

Homebrew instala programas en /usr/local en intel pero bajo /opt/homebrew en el brazo. Así que una vez que hayas instalado el zsh de Homebrew, estará en /opt/homebrew/bin/zsh . El zsh que viene con MacOS está en /bin/zsh .

Si has codificado la ruta /usr/local/bin/zsh en algún lugar, puede utilizar uno de los siguientes comandos para que exista:

sudo ln -s /bin/zsh /usr/local/bin
sudo ln -s /opt/homebrew/bin/zsh /usr/local/bin

Su intento con ln no ha funcionado porque has pasado los argumentos a ln en el orden equivocado, y también porque el zsh preinstalado está en /bin y no /usr/bin .

Si quieres cambiar tu shell de acceso, puedes utilizar el siguiente comando:

chsh -s /bin/zsh

O chsh -s /opt/homebrew/bin/zsh para cambiar a zsh de Homebrew.

Los MacOS modernos vienen con una versión reciente de zsh, así que no hay ninguna ventaja en usar la de Homebrew. No es como bash, donde MacOS sólo incluye una versión antigua.

0 votos

Recuperé mi caparazón con chsh -s /bin/zsh del otro usuario. Gracias por esta excelente respuesta. Debería haber preguntado hace 5 horas.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X