62 votos

Apple Silicon: portar todos los paquetes Homebrew bajo /usr/local/opt/ a /opt/homebrew

Recientemente he comprado un MacBook Pro 13" con el chip M1 y he transferido todos mis datos utilizando una copia de seguridad de Time Machine. Los paquetes de Homebrew están actualmente instalados en /usr/local/opt/ pero tengo entendido que deben estar bajo /opt/homebrew para los Macs de silicona de Apple.

Cómo puedo:

  1. Obtener la lista de paquetes que tengo instalados actualmente
  2. Quitar los de /user/local/opt
  3. Vuelva a instalarlos en /opt/homebrew

Supuse que Homebrew sería lo suficientemente inteligente como para hacer esto de forma automática, pero aparentemente necesita algo de mantenimiento manual.

Aquí está mi configuración Homebrew si ayuda:

HOMEBREW_VERSION: 2.7.2
ORIGIN: https://github.com/Homebrew/brew
HEAD: dad7dc6a1498b80770d98f2d7cd6fb927c300bbb
Last commit: 3 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 2b1d79d038bffdbfcee93283051d48919a4caf3d
Core tap last commit: 16 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 12.0 build 1200
Git: 2.30.0 => /usr/local/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.1-arm64
CLT: 12.3.0.0.1.1607026830
Xcode: N/A
Rosetta 2: false

Gracias de antemano.

86voto

Según https://docs.brew.sh/Installation , /usr/local es para los binarios de Intel, /opt/homebrew para ARM. Así que es posible que quieras reinstalar en lugar de sólo migrar.

Puede volcar la lista de paquetes actualmente instalados con brew bundle dump . Para duplicar su instalación actual, tendrá que

  • Ejecutar brew bundle dump para crear un Brewfile

  • instalar ARM Homebrew en /opt/homebrew siguiendo las instrucciones de https://docs.brew.sh/Installation

    cd /opt
    sudo mkdir -p homebrew
    sudo chown -R $(whoami) homebrew
    curl -L https://github.com/Homebrew/brew/tarball/master |\
        tar xz --strip 1 -C homebrew
  • asegúrese de que la versión ARM está al principio de su PATH

    PATH=/opt/homebrew/bin:$PATH
  • Vuelva a aplicar el archivo de cerveza creado en el primer paso

    hash -d brew
    brew bundle install --file /path/to/Brewfile`
  • Opcionalmente, ejecute brew analytics off para desactivar la recopilación de datos de seguimiento/análisis realizada por Homebrew ( https://docs.brew.sh/Analytics )

PD: Algunas fórmulas no parecen funcionar todavía en ARM

17voto

DaniG2k Puntos 116

Este es el enfoque que finalmente adopté.

En primer lugar, tomé nota de mis paquetes Brew instalados:

brew list

Lo guardé en un archivo de texto para poder consultarlo más tarde. Luego desinstalé la versión antigua de Homebrew y todos sus paquetes:

cd ~/Desktop
wget https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
chmod +x ./uninstall.sh
sudo ./uninstall.sh --path=/usr/local

y eliminó el archivo una vez que lo hizo:

rm uninstall.sh

Luego instalé Homebrew con soporte M1:

cd /opt; sudo mkdir homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

He añadido lo siguiente a mi ~/.zshrc archivo:

export PATH=/opt/homebrew/bin:$PATH

y lo alimentó con:

source ~/.zshrc

Luego me referí a la lista de mi primer paso y comencé a instalar los paquetes necesarios uno por uno :) La mayoría de los paquetes que utilizaba parecían tener ya soporte para ARM, ¡lo cual es genial!

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