Como usar o Homebrew no Apple M1 Mac?

Homebrew é uma das ferramentas mais úteis para gerenciar pacotes de software no Mac. Homebrew é uma ferramenta de gerenciamento de pacote de software na plataforma Mac OS, com muitas funções úteis, como instalação, desinstalação, atualização, visualização e pesquisa. Uma instrução simples pode realizar o gerenciamento de pacotes sem você ter que se preocupar com as várias dependências e caminhos de arquivo, o que é muito conveniente e rápido.

Mas até agora, ainda não concluiu a adaptação aos novos modelos de Mac equipados com silicone da Apple. De acordo com as instruções postadas pelo mantenedor no GitHub, o Homebrew está se adaptando ativamente à nova arquitetura, mas ainda enfrenta alguns obstáculos importantes, como a falta de uma estrutura de integração contínua baseada na arquitetura ARM e a estrutura ou compilador que muitos pacotes de software dependem (go, gcc, qt) não são adaptados, etc.

O Homebrew ainda está disponível no novo Mac e lançou uma versão experimental que suporta nativamente a arquitetura ARM.

1. Instale o Homebrew para ARM

De acordo com o plano oficial, a versão ARM do Homebrew deve ser instalada no caminho  / opt / homebrew  em vez do / usr / local / Homebrew anterior . Como o script de instalação oficial não foi atualizado, você pode instalá-lo manualmente com o seguinte comando:

cd / opt # Alterne para o diretório / opt 
mkdir homebrew # Crie o diretório homebrew 
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

(Nota: Se um erro for relatado durante a instalação e uso, pode ser porque o usuário atual não tem permissão para o caminho  / opt / homebrew  . Para isso, você pode assumir o diretório através de sudo chown -R $ (whoami) / opt / homebrew  .)

Embora a versão ARM do Homebrew tenha sido instalada nas etapas acima, executar o comando brew no terminal neste momento não pode iniciar diretamente a versão. Isso ocorre porque, por padrão, o caminho / opt / homebrew / bin usado pelo Homebrew para a versão ARM para instalar o programa não está na variável de ambiente PATH, então o terminal não pode recuperar o programa brew sob este caminho.

Para fazer isso, edite o arquivo de configuração ~ / .zshrc e adicione o seguinte conteúdo:

path = ('/ opt / homebrew / bin' $ path) 
export PATH

(Observação: é recomendado que os usuários usem o terminal padrão zsh do macOS Big Sur. Se você usar bash ou fish, modifique ~ / .bashrc ou ~ / .config / fish / config.fish, o mesmo mais tarde.)

Em seguida, reinicie o terminal. Desta forma, você pode iniciar a versão ARM do Homebrew executando diretamente brew.

2. Instale o Homebrew para X86

Como mencionado acima, porque muitos pacotes de software não são atualmente compatíveis com a arquitetura ARM (você pode verificar na página de problemas de silício da Apple do Homebrew) e não podem ser instalados através da versão ARM do Homebrew, também precisamos instalar uma versão X86 do Homebrew como um cópia de segurança.

A versão X86 do Homebrew não pode ser instalada no ambiente ARM. Para isso, você precisa iniciar um terminal de ambiente X86. O método mais difundido na Internet é criar uma cópia do Terminal.app e, em seguida, executá-lo no modo de compatibilidade Rosetta.

Na verdade, se você notar a adição de arch -x86_64 antes de qualquer comando , poderá executar o comando no modo X86. Portanto, execute:

arco -x86_64 $ SHELL

Você pode iniciar um terminal no modo X86, de forma que todos os comandos executados depois disso sejam executados no modo X86.

Neste ponto, execute o script de instalação oficial do Homebrew

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

Você pode completar a instalação da versão X86 do Homebrew.

3. Coexistência de Homebrew para ARM e X86

Após os passos acima, existem atualmente dois programas brew no sistema, nomeadamente a versão X86 de  / usr / local / bin / brew  e a versão ARM de / opt / homebrew / bin / brew . Então, quando o comando brew for executado no terminal, qual o sistema irá pegar?

Quando houver um programa com o mesmo nome, o terminal selecionará a versão a ser executada de acordo com a seqüência do programa com o mesmo nome na variável de ambiente PATH. Como ~ / .zshrc foi configurado antes, o caminho da versão ARM do Homebrew foi colocado no topo do PATH, portanto, quando o brew for executado, a versão ARM localizada em  / opt / homebrew / bin / brew  será executada primeiro. Se você deseja executar a versão X86, você precisa inserir manualmente o caminho completo  arch -x86_64 / usr / local / bin / brew .

Se você achar que é muito problemático inserir um comando tão longo, você pode definir aliases para as duas versões em ~ / .zshrc:

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

Desta forma, execute  abrrew install  para chamar a versão ARM do Homebrew para instalar o pacote de software e execute  ibrew install   para chamar a versão X86, que não é fácil de ser confundida.

Quanto à versão do Homebrew que deve ser usada para instalar o pacote, são necessárias diferentes considerações:

  • Para o programa de linha de comando (CLI): Você pode primeiro tentar instalar com a versão ARM do Homebrew para garantir que obtenha a versão compilada para a nova arquitetura para obter o melhor efeito de execução. Mas observe:
    	<ul>
    		<li>有的软件包已经兼容新架构、但还没有发布相应的编译版,需要安装的过程中在本地编译,耗时会相对很长;</li>
    		<li>如果软件包还没有兼容新架构,使用 ARM 版 Homebrew 安装会报错,此时可以换用 X86 版 Homebrew 安装。</li>
    	</ul>
    </li>
    <li>对于图形界面(GUI)程序,即通过 Homebrew Cask 安装的 .app 程序:对于这类软件,Homebrew 起的作用只是从官方渠道下载这些软件的安装包,然后安装到 /Applications 路径(及执行安装脚本,如果有)。因此无论其是否针对新架构优化,通过任一版本 Homebrew 都可以安装。考虑到日后维护方便,建议直接用 ARM 版 Homebrew 安装即可。</li>
    

4. Migrar pacotes do Mac antigo (ou Homebrew para X86)

Se você escolher migrar dados do Mac antigo ou restaurar backups do Time Machine após obter a versão M1 do Mac, então o sistema pode já ter a versão X86 legada do Homebrew e os pacotes de software instalados com ela. Além disso, você também pode migrar os pacotes de software usados ​​para o novo Mac sem omissões. Nesses casos, você pode usar a função Homebrew Bundle para ajudar na migração.

Para exportar uma lista de pacotes instalados usando o Homebrew for X86, execute:

/ usr / local / bin / brew bundle dump

Você pode obter um arquivo de backup chamado Brewfile no diretório atual. O arquivo pode ser aberto com um editor de texto normal, listando todos os pacotes de software instalados, fontes de software de terceiros adicionadas (tap), programas GUI gerenciados por Homebrew Cask e programas Mac App Store gerenciados por mas-cli:

tap "homebrew / bundle" 
tap "homebrew / cask" 
[...] 
brew "dash" 
brew "ffmpeg" 
[...] 
cask "bartender" 
cask "bettertouchtool" 
[...] 
mas "Apple Configurator 2", id: 1037126344 
mas "Aviário ", id: 1522043420 
[…]

Anote o caminho para o Brewfile. Em seguida, use o Homebrew for ARM para importar seu conteúdo e instalar:

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

A migração está concluída.

Deve-se notar que se você estiver migrando entre duas versões do Homebrew na mesma máquina, você não precisa migrar os programas GUI instalados através do Homebrew Cask e App Store (o Homebrew não permitirá sobrescrever a instalação). Neste momento, você pode editar manualmente o Brewfile acima, excluir os registros que começam com barril e mas e, em seguida, importá-los através do pacote de fermentação.

Se você deseja que a versão ARM do Homebrew assuma o controle do software Homebrew Cask instalado, basta mover as  pastas em / usr / local / Caskroom  para  / opt / homebrew / Caskroom  :

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

5. Homebrew pode ser instalado por conversão Rosetta 2

O método é muito simples, basta adicionar arch -x86_64 antes do comando de instalação no passado.

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

Este Homebrew convertido pode ter alguns problemas de compatibilidade em alguns softwares, por isso é recomendado instalar outra versão compilada manualmente:

$ sudo mkdir -p / opt / homebrew

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

$ cd / opt

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

O homebrew instalado no primeiro método está no diretório / usr / local / bin  , enquanto no segundo método instalado no diretório  / opt / homebrew  , o último não será adicionado automaticamente à variável de ambiente PATH, por isso precisa ser manualmente conjunto:

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

Dessa forma, você tem dois Homebrews em seu Mac: um é Rosetta convertido e o outro é nativo. Se o diretório nativo estiver na frente, o comando brew executará esta versão por padrão.

E se eu quiser executar o Rosetta convertido? Podemos definir um comando ibrew separadamente:

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

Atualmente, o Homebrew não fornece um pacote pré-compilado para ARM Mac, então é melhor usar o comando  brew install -s  para instalar.

Acho que você gosta

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