Dica para restaurar o ambiente de desenvolvimento depois de atualizar o sistema operacional para o macOS Sierra.

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, mas não é nada 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, por exemplo, 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:

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.


comments powered by Disqus