¿Cómo puedo integrar Homebrew con software no administrado en / usr / local?

5

Estoy a punto de cambiarme a Homebrew sistema de gestión de paquetes, y casi todo parece muy simple. Sin embargo, He estado usando esta computadora por un tiempo, así que ya tengo un montón de cosas en /usr/local . Estoy de acuerdo con eliminar casi todo, ya que hay Fórmulas para casi todo lo que hay allí. Sin embargo, es el "casi" que es llevando a mi confusión actual. Hay algunos ejecutables, incluyendo publicados unos, scripts personales pequeños e incluso la herramienta mate de TextMate, en /usr/local/bin , que no están disponibles a través de Homebrew. Los Sugerencias sobre el Homebrew 'N' Tricks page sugiere usando ./configure --prefix=/usr/local/Cellar/foo/1.2 && make && make install && brew link foo , pero esto es solo una sugerencia útil si hay algo que hubiera Me gustaría en realidad construir , en lugar de un simple binario o un enlace simbólico a algo local.

Mi pregunta, entonces, es cómo lidiar con el software no administrado y Homebrew simultaneamente. Veo algunos enfoques posibles:

  1. Mezcla los dos libremente. No puedo decir si Homebrew me va a tolerar volcar. binarios y enlaces simbólicos no administrados en /usr/local/bin ; mi conjetura es que Funcionará por ahora, pero solo dará lugar a problemas en el futuro. Sin embargo, yo también ver que Homebrew se supone que es flexible con las jerarquías de archivos existentes. Me gustaría saber cuál es la línea oficial de esto. Sin embargo, no está claro que sea un enfoque atractivo.
  2. (Ab?) Usa el sistema oficial. Crear /usr/local/Cellar/foo/1.0 vacío directorios, copie los binarios / enlaces simbólicos allí, y luego brew link foo . Esto hará que los enlaces simbólicos se dirijan dos veces, pero eso no parece ser un problema real. Este parece ser el mejor enfoque para mí, pero no haber usado Homebrew, no estoy seguro de los inconvenientes. ¿Esto va a causar? Problemas a largo plazo cuando, por ejemplo, actualizando fórmulas o cuando son nuevos. ¿Se crean fórmulas que se superponen?
  3. Simplemente no mezcles los dos. Hay dos enfoques aquí:
    1. Poner mis binarios / enlaces simbólicos personales en otro directorio. no estoy seguro ¿Cuál es la mejor ubicación ( ~/bin ? ~/usr/bin ? ¿Algo más?), pero resuelve el problema de la mezcla mediante el uso de la misma.
    2. Coloque Homebrew en otro directorio ( por ejemplo, , /usr/homebrew/ ). Esta Resuelve el problema de la misma manera que 3.1. La desventaja es que soy poner a Homebrew en un lugar no estándar, lo que parece que simplemente causar una serie de pequeños dolores de cabeza menores a largo plazo.
  4. Algo más que no conozco o no he pensado.

¿Cuál es la mejor manera de hacer esto? ¿Hay uno oficial? Hay obvio fallas o beneficios en cualquiera de estos enfoques en los que no he pensado?

    
pregunta Antal Spector-Zabusky 27.12.2011 - 09:01

2 respuestas

6

Yo uso 1.

Acabo de compilar mi software usando /usr/local como prefijo y ya terminé. No he tenido ningún problema hasta ahora. No sé si tendré problemas, pero comencé ~ 1 años atrás y hasta ahora todo va bien.

Sin embargo ...

Si tuviera que empezar de nuevo hoy, seguiría 2 (lo que no sabía en ese momento). De esa manera es bastante fácil saber dónde está todo y qué, exactamente, el software ha instalado (ya que la jerarquía para /usr/local/Cellar/foo/1.0 es algo como

bin/      etc/      include/  lib/      share/

)

3 no parece valer.

    
respondido por el Gio 27.12.2011 - 10:25
1

Homebrew tolera cosas no hechas en homebrew en /usr/local muy bien. Puedes confirmar que todo está bien haciendo brew doctor ; si es probable que algo entre en conflicto, Homebrew te lo advertirá.

    
respondido por el Ben XO 04.06.2014 - 01:39

Lea otras preguntas en las etiquetas