Homebrew (a diferencia de Macports) no pone los programas por delante del sistema

1

Macports inserta /opt/local/bin/ por delante de /usr/bin en la ruta, y por lo tanto, si el mismo programa existe en ambas carpetas, el programa Macports instalado tiene prioridad.

No tengo claro cómo Homebrew maneja este problema. Tomando un ejemplo concreto, digamos que ejecuto brew install git , ahora tengo

> /usr/local/bin/git --version
git version 2.14.2
> git --version
git version 2.13.5 (Apple Git-94)

Para usar el más reciente (git 2.14), es tedioso usar /usr/local/bin/git . Además, dar más prioridad a /usr/local/bin por mi cuenta puede tener efectos secundarios no deseados.

¿Cuál es la forma estándar de ejecutar programas Homebrew actualizados cuando chocan con los que ya están en macOS? Para python he visto que Homebrew evita colisiones al requerir que los usuarios escriban python2 o python3 . Esto es menos claro para el caso de git .

    
pregunta Calaf 09.10.2017 - 12:01

1 respuesta

2

La convención general es, de hecho, poner /usr/local/bin por delante de /usr/bin . Esto se puede hacer editando el archivo /etc/path o sudo launchctl config user path "/usr/local/bin:$PATH" . Esto hará que los ejecutables en /usr/bin sean sombreados por los de /usr/local/bin . Las Preguntas frecuentes sobre Homebrew sugieren esto.

Las recetas de Homebrew no vincularán deliberadamente ningún programa en /usr/local/bin que pueda causar conflictos en todo el sistema (los ejecutables de homebrew están realmente instalados en /usr/local/Cellar y están vinculados a /usr/local/bin ). Cuando instales un paquete potencialmente conflictivo, homebrew te lo advertirá y dirá algo como "No vinculamos automáticamente este paquete. Si realmente quieres, puedes ejecutar 'brew link ..." Homebrew generalmente es bastante bueno al ser respetuoso con los paquetes del sistema existentes.

Como anécdota empírica, siempre he seguido /usr/bin con /usr/local/bin y nunca me he encontrado con ningún problema. YMMV, por supuesto.

    
respondido por el vykor 09.10.2017 - 18:58

Lea otras preguntas en las etiquetas