¿Cómo usar Homebrew en Apple M1 Mac?

Homebrew es una de las herramientas más útiles para administrar paquetes de software en Mac. Homebrew es una herramienta de administración de paquetes de software bajo la plataforma Mac OS, con muchas funciones útiles como instalación, desinstalación, actualización, visualización y búsqueda. Una instrucción simple puede realizar la administración de paquetes sin que usted tenga que preocuparse por varias dependencias y rutas de archivo, lo cual es muy conveniente y rápido.

Pero hasta el momento, aún no ha finalizado la adaptación a los nuevos modelos de Mac equipados con silicio de Apple. De acuerdo con las instrucciones publicadas por el mantenedor en GitHub, Homebrew se está adaptando activamente a la nueva arquitectura, pero aún enfrenta algunos obstáculos importantes, como la falta de un marco de integración continuo basado en la arquitectura ARM y el marco o compilador que muchos los paquetes de software en los que se basan (go, gcc, qt) no están adaptados, etc.

Homebrew todavía está disponible en la nueva Mac y ha lanzado una versión experimental que admite de forma nativa la arquitectura ARM.

1. Instale Homebrew para ARM

Según el plan oficial, la versión ARM de Homebrew debe instalarse en la ruta  / opt / homebrew en  lugar de la anterior / usr / local / Homebrew . Dado que el script de instalación oficial no se ha actualizado, puede instalarlo manualmente con el siguiente comando:

cd / opt # Cambia al directorio / opt 
mkdir homebrew # Crea el directorio homebrew 
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

(Nota: Si se informa un error durante la instalación y el uso, puede deberse a que el usuario actual no tiene permiso para la ruta  / opt / homebrew  . Para esto, puede tomar el control del directorio a través de sudo chown -R $ (whoami) / opt / homebrew  .)

Aunque la versión ARM de Homebrew se ha instalado en los pasos anteriores, ejecutar el comando brew en el terminal en este momento no puede iniciar directamente la versión. Esto se debe a que, de forma predeterminada, la ruta / opt / homebrew / bin utilizada por Homebrew para la versión ARM para instalar el programa no está en la variable de entorno PATH, por lo que el terminal no puede recuperar el programa de preparación en esta ruta.

Para hacer esto, edite el archivo de configuración ~ / .zshrc y agregue el siguiente contenido:

ruta = ('/ opt / homebrew / bin' $ ruta) 
exportar ruta

(Nota: se recomienda que los usuarios utilicen el terminal zsh predeterminado de macOS Big Sur. Si usa bash o fish, modifique ~ / .bashrc o ~ / .config / fish / config.fish, lo mismo más adelante).

Luego reinicia la terminal. De esta manera, puede iniciar la versión ARM de Homebrew ejecutando directamente brew.

2. Instale Homebrew para X86

Como se mencionó anteriormente, debido a que muchos paquetes de software no son actualmente compatibles con la arquitectura ARM (puede consultar en la página de problemas de silicio de Apple de Homebrew) y no se pueden instalar a través de la versión ARM de Homebrew, también necesitamos instalar una versión X86 de Homebrew como un apoyo.

La versión X86 de Homebrew no se puede instalar en el entorno ARM. Para ello, debe iniciar un terminal de entorno X86. El método más extendido en Internet es crear una copia de Terminal.app y luego hacer que se ejecute en modo de compatibilidad con Rosetta.

De hecho, si nota la adición de arch -x86_64 antes de cualquier comando , puede ejecutar el comando en modo X86. Por lo tanto, ejecute:

arco -x86_64 $ SHELL

Puede iniciar un terminal en modo X86, de modo que todos los comandos que ejecute después se ejecuten en modo X86.

En este punto, ejecute el script de instalación oficial de Homebrew

/ bin / bash -c "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Puede completar la instalación de la versión X86 de Homebrew.

3. Coexistencia de Homebrew para ARM y X86

Después de los pasos anteriores, actualmente hay dos programas de preparación en el sistema, a saber, la versión X86 de  / usr / local / bin / brew  y la versión ARM de / opt / homebrew / bin / brew . Entonces, cuando se ejecuta el comando brew en la terminal, ¿cuál tomará el sistema?

Cuando exista un programa con el mismo nombre, el terminal seleccionará la versión a ejecutar según la secuencia del programa con el mismo nombre en la variable de entorno PATH. Dado que ~ / .zshrc se configuró antes, la ruta de la versión ARM de Homebrew se colocó en la parte superior de la RUTA, por lo que cuando se ejecuta brew, la versión ARM ubicada en  / opt / homebrew / bin / brew  se ejecutará primero. Si desea ejecutar la versión X86, debe ingresar manualmente la ruta completa  arch -x86_64 / usr / local / bin / brew .

Si le resulta demasiado problemático ingresar un comando tan largo, puede establecer alias para las dos versiones en ~ / .zshrc:

abrew = '/ opt / homebrew / bin / brew' # ARM Homebrew 
ibrew = 'arch -x86_64 / usr / local / bin / brew' # X86 Homebrew

De esta manera, ejecute  abrrew install  para llamar a la versión ARM de Homebrew para instalar el paquete de software, y ejecute  ibrew install   para llamar a la versión X86, lo cual no es fácil de confundir.

En cuanto a qué versión de Homebrew se debe usar para instalar el paquete, se necesitan diferentes consideraciones:

  • Para el programa de línea de comandos (CLI): primero puede intentar instalar con la versión ARM de Homebrew para asegurarse de obtener la versión compilada para la nueva arquitectura para lograr el mejor efecto de ejecución. Pero nota:
    	<ul>
    		<li>有的软件包已经兼容新架构、但还没有发布相应的编译版,需要安装的过程中在本地编译,耗时会相对很长;</li>
    		<li>如果软件包还没有兼容新架构,使用 ARM 版 Homebrew 安装会报错,此时可以换用 X86 版 Homebrew 安装。</li>
    	</ul>
    </li>
    <li>对于图形界面(GUI)程序,即通过 Homebrew Cask 安装的 .app 程序:对于这类软件,Homebrew 起的作用只是从官方渠道下载这些软件的安装包,然后安装到 /Applications 路径(及执行安装脚本,如果有)。因此无论其是否针对新架构优化,通过任一版本 Homebrew 都可以安装。考虑到日后维护方便,建议直接用 ARM 版 Homebrew 安装即可。</li>
    

4. Migre paquetes de la antigua Mac (o Homebrew para X86)

Si elige migrar datos de la Mac antigua o restaurar las copias de seguridad de Time Machine después de obtener la versión M1 de la Mac, es posible que el sistema ya tenga la versión X86 heredada de Homebrew y los paquetes de software instalados con ella. Además, es posible que también desee migrar los paquetes de software que utilizó a la nueva Mac sin omisión. En estos casos, puede utilizar la función Homebrew Bundle para ayudar con la migración.

Para exportar una lista de paquetes instalados usando Homebrew para X86, ejecute:

/ usr / local / bin / brew bundle dump

Puede obtener un archivo de copia de seguridad llamado Brewfile en el directorio actual. El archivo se puede abrir con un editor de texto normal, que enumera todos los paquetes de software instalados, fuentes de software de terceros agregadas (tap), programas GUI administrados por Homebrew Cask y programas de Mac App Store administrados por mas-cli:

toque " 
cerveza casera / paquete" 
toque "cerveza casera / barrica" 
[…] 
preparación "guión" 
preparación "ffmpeg" 
[…] 
barrica "barman" barrica "bettertouchtool" 
[…] 
mas "Apple Configurator 2", id: 1037126344 
mas "Aviary ", id: 1522043420 
[…]

Tome nota de la ruta a Brewfile. Luego, use Homebrew for ARM para importar su contenido e instalar:

/ opt / homebrew / bin / brew bundle --file / path / to / Brewfile

Se completa la migración.

Cabe señalar que si está migrando entre dos versiones de Homebrew en la misma máquina, no necesita migrar los programas de GUI instalados a través de Homebrew Cask y App Store (Homebrew no permitirá la sobrescritura de la instalación). En este momento, puede editar manualmente el archivo Brewfile anterior, eliminar los registros que comienzan con cask y mas, y luego importarlos a través del paquete brew.

Si desea que la versión ARM de Homebrew se haga cargo del software Homebrew Cask instalado, simplemente mueva las  carpetas bajo / usr / local / Caskroom  a  / opt / homebrew / Caskroom  :

mv / usr / local / Caskroom / * / opt / homebrew / Caskroom

5. Homebrew se puede instalar mediante la conversión de Rosetta 2

El método es muy simple, simplemente agregue arch -x86_64 antes del comando de instalación en el pasado.

$ arch -x86_64 / bin / bash -c "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Este Homebrew convertido puede tener algunos problemas de compatibilidad en algún software, por lo que se recomienda instalar otra versión compilada manualmente:

$ sudo mkdir -p / opt / homebrew

$ sudo chown -R $ (whoami): personal / opt / homebrew

$ cd / opt

$ curl -L https: / /github.com/Homebrew/brew/tarball/master | tar xz - tira 1 -C homebrew

Homebrew instalado en el primer método está en el directorio / usr / local / bin  , mientras que en el segundo método instalado en el directorio  / opt / homebrew  , este último no se agregará automáticamente a la variable de entorno PATH, por lo que debe ser manualmente conjunto:

exportPATH = "/ opt / homebrew / bin: $ PATH"

De esta manera, tiene dos Homebrews en su Mac: uno es Rosetta convertido y el otro es nativo. Si el directorio nativo está al frente, el comando brew ejecutará esta versión por defecto.

¿Qué pasa si quiero ejecutar Rosetta convertida? Podemos configurar un comando ibrew por separado:

aliasibrew = 'arch -x86_64 / usr / local / bin / brew'

Actualmente, Homebrew no proporciona un paquete precompilado para ARM Mac, por lo que es mejor usar el comando  brew install -s  para instalar.

Supongo que te gusta

Origin blog.csdn.net/a055350/article/details/111040458
Recomendado
Clasificación