O macOS Sierra bagunçou meu Mac

Publicado em 20/10/2016

Instalei ontem a nova versão do OSX, "Sierra" e infelizmente constatei que a maioria das ferramentas que utilizo no meu dia-a-dia de desenvolvedor não funcionava mais, incluindo homebrew, git e npm. Aqui estão as instruções para deixar tudo funcionando certinho novamente.

Desabilite a Proteção de Integridade do Sistema

A "Proteção de Integridade do Sistema" (SIP, sigla do inglês System Integrity Protection) é uma nova funcionalidade do OSX, também chamado "rootless". Como o próprio nome diz, ele cria um outro nível de acesso, abaixo da conta "root". Essa conta "root" rebaixada não pode modificar nada numa grande lista de arquivos de sistema, diretórios e processos. Isso faz sentido para a maioria dos usuários, que fornecem cegamente sua senha sudo sempre que algum instalador a solicita. Isso, todavia, não é bom para os desenvolvedores, que acessam regularmente esses diretórios. O npm é um dos aplicativos que precisa ter acesso ao /usr/local, um diretório protegido pelo SIP. Outros aplicativos muito usados em desenvolvimento, tais como o homebrew e o git, entre muitos, também precisam desse acesso. Assim sendo, o primeiro passo é desabilitar o SIP.

  • Reinicilize o computador no Modo de Recuperação (Pressione Cmd+R enquanto reinicializa).
  • Acesse um Terminal, a partir dos Menus.
  • Execute o comando: csrutil disable
  • Reinicialize o computador.

Parabéns! Seu "root" não está mais rebaixado.

Atualize as permissões para usr/local

Abra um terminal e execute*:

* (Os caracteres `~/` representam o diretório-raiz do usuário e não devem ser digitados.)

~/ sudo chflags norestricted /usr/local && sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local`

Isso vai atualizar as permissões que o npm, homebrew e outros aplicativos necessitam: eles serão proprietários do diretório e de todo o seu conteúdo. Também troca as flags do SIP, para permitir modificações posteriores, caso você decida reabilitá-lo.

Atualize as ferramentas de desenvolvimento

Reinstale o XCode developer tools, executando num terminal:

~/ xcode-select --install

Atualize o homebrew

Num terminal, digite os comandos:

~/ brew update ~/ brew doctor

Siga as instruções do bom doutor e, finalmente, dê o comando:

~/ brew upgrade

Isso vai atualizar todos os aplicativos instalados com o brew.

Compartilhe esta postagem