42 votos

¿Por qué Homebrew se instala en /opt/homebrew en los Mac de silicona de Apple?

La cerveza casera página de documentación para la instalación afirma lo siguiente:

Este script instala Homebrew en su prefijo preferido ( /usr/local para MacOS Intel, /opt/homebrew para Apple Silicon y /home/linuxbrew/.linuxbrew para Linux) para no necesitar sudo cuando usted brew install . Es un cuidadoso script; se puede ejecutar incluso si tiene cosas instaladas en el prefijo preferido ya. Le dice exactamente lo que va a hacer antes de hacerlo también. Tienes que confirmar todo lo que va a hacer antes de que comience.

¿Cuál es la razón (técnica o de otro tipo) para que Homebrew elija /opt/homebrew como prefijo de instalación en lugar de /usr/local como en el caso de MacOS que funciona con chips Intel?

42voto

Haren S Puntos 290

Recomiendo encarecidamente consultar la discusión original de Homebrew aquí . A continuación resumo algunos puntos del mismo.

El prefijo por defecto antes de Apple Silicon ( /usr/local ) fue elegido por varias razones:

  • Ya está en PATH. Esto significa que se puede acceder a las herramientas instaladas con homebrew sin necesidad de cambiar nada.
  • Bastantes sistemas de construcción ya buscan en /usr/local para que las bibliotecas instaladas con homebrew puedan ser utilizadas por herramientas que no son homebrew.

La transición a Apple Silicon vino acompañada de un cambio en el prefijo por defecto de Homebrew. Algunas de las razones para ello fueron:

  • /usr/local también es utilizado por otras herramientas, no sólo por Homebrew. Esto puede dar lugar a posibles conflictos.
  • Instalaciones en /opt/homebrew para Apple Silicon y /usr/local para Rosetta 2 pueden coexistir.
  • Es posible que las herramientas caseras no siempre quieran ser utilizadas por defecto. Un prefijo diferente facilitaría esta tarea.

También hubo una interesante artículo hace un tiempo sobre algunos de los posibles riesgos de seguridad con /usr/local que puede ser interesante.

Otros gestores de paquetes de MacOS ya utilizaban prefijos diferentes (MacPorts con /opt/local y Fink con /opt/sw ). MacPorts enumeró algunas razones por las que no utilizan /usr/local aquí y Fink tiene aquí .

Sólo para tener en cuenta, aunque no se recomienda , Homebrew puede instalarse técnicamente en cualquier lugar. Sin embargo, las botellas/binarias preconstruidas sólo están disponibles en el prefijo por defecto.

10voto

Abramodj Puntos 1771

De la cerveza casera PREGUNTAS FRECUENTES :

El prefijo /opt/homebrew fue elegido para permitir que las instalaciones en /opt/homebrew para Apple Silicon y /usr/local para Rosetta 2 coexistan y usen botellas.

Esto permite la instalación y ejecución de dos versiones de Homebrew simultáneamente en Apple Silicon, una para ARM y otra para Intel bajo Rosetta. Ver más aquí

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