2 votos

Compilación de paquetes de descarga de HomeBrew

Mi pobre y viejo MacBook de aluminio de 2008 no es la única pieza vieja de kit que tengo ejecutando paquetes homebrew, realmente aprecio la capacidad de tener un gestor de paquetes en Mac OS, al menos mientras hago mi camino a linux. Sin embargo, incluso mi iMac de 2014 está sintiendo algo de peso de la gestión de paquetes Homebrew. Es lento aunque muy automatizado, me gustaría acelerar un poco las cosas en mis ordenadores más antiguos.

¿Hay alguna manera de que el código fuente de paquetes como youtube-dl, aircrack-ng, o la mayoría de los paquetes no embotellados puedan ser precompilados e instalados como un archivo binario para Mac OS / OS X? O al menos, algo similar a un archivo .deb (como un frasco), donde el código fuente ha sido compilado y se deja al sistema que descomprima y copie apropiadamente los archivos y bibliotecas a sus ubicaciones apropiadas? Gracias.

3voto

daniel kullmann Puntos 2619

Por defecto, los paquetes se instalan de la forma que describes... Las "botellas" son binarios precompilados que se descargan como archivos de cinta comprimidos, cuyo contenido se "vierte" en las rutas adecuadas.

Si especifica opciones, o utiliza banderas de compilación personalizadas, entonces naturalmente brew construirá desde el código fuente. Pero si, por ejemplo, brew install nmap htop bmon , descargará la botella para la versión de su sistema y la verterá junto con las dependencias que falten.

Dicho esto, no cabe duda de que hay situaciones en las que brew compila desde el código fuente, así que para intentar responder a tu pregunta, ¿con qué frecuencia encuentras este problema?

No hay manera de configurarlo para que brew compile en una máquina diferente "automáticamente" (es decir, a menos que se implemente esto como una característica y se implemente en su instalación de brew). Puedes imaginar cómo esto podría ser difícil; diferencias de arquitectura aparte, conflictos/dependencias que necesitan ser resueltos, las diferencias en el entorno, etc. harían de esto una pesadilla.

Si esto es más una molestia ocasional que un problema regular, lo que podrías intentar es instalar cualquier fórmula que quieras en la máquina más rápida con --build-bottle . A continuación, puede "embotellar" el paquete usted mismo ejecutando brew bottle para instalar en la máquina más lenta.

Sin embargo, no puedo recomendar esto con ningún nivel de confianza, ya que no sé lo bien que funcionaría para todas las fórmulas. Tendrías que estar en el mismo sistema operativo/arquitectura, y los binarios se compilarán para la CPU de menor denominador común (a menos que especifiques cuál) por lo que la construcción podría funcionar peor, dependiendo de las características para las que fue diseñada.

Si la diferencia en el tiempo de compilación es tan grande que esto parece una ruta viable, las dos máquinas podrían incluso no ser compatibles (no recuerdo cuál era el MacBook de 2008, ¿núcleo 2?), y la compilación cruzada dentro de brew sería un dolor de cabeza completamente separado por sí mismo, podría ser mejor no usar un gestor de paquetes en absoluto y compilar/configurar el software usted mismo.

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