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.
- Crédito: Baseado no artigo El Capitain Broke My Developer Stuff! Here’s How to Fix It