Resolvendo o problema de instalação do node-sass 4.14.1 no MacBook Air M1

xulioguimaraes

Julio C Guimarães

Posted on July 5, 2023

Resolvendo o problema de instalação do node-sass 4.14.1 no MacBook Air M1

Introdução:
Ao instalar as dependências de um projeto no MacBook Air M1, me deparei com o erro de incompatibilidade do node-sass com a arquitetura arm64. Neste artigo, vou compartilhar os passos que podem ser seguidos para superar esse problema e permitir que você execute seu projeto em sua máquina com sucesso.

Image description

Passo a passo:

1. Instale as bibliotecas Python:
Como pré-requisito, instale as bibliotecas Python 2.7 e Python 3.11 utilizando o Homebrew. Isso pode ser feito com os seguintes comandos no terminal:

brew install python@2
brew install python@3.11
Enter fullscreen mode Exit fullscreen mode

2. Instale o NVM:
O NVM (Node Version Manager) permitirá que você instale e gerencie diferentes versões do Node.js. Para instalá-lo, execute o seguinte comando no terminal:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

Após a instalação, feche e reabra o terminal para que as alterações tenham efeito.

3. Utilize o Rosetta 2:
O Rosetta 2 é uma tecnologia que permite executar aplicativos projetados para arquiteturas Intel em sistemas Apple Silicon. Para usar o Rosetta 2 no terminal, siga as etapas abaixo:

  • Abra o Finder e vá para "Ir" > "Utilitários".
  • Selecione o aplicativo Terminal.
  • Clique com o botão direito do mouse no aplicativo Terminal e selecione "Obter Informações".

Image description

  • Marque a opção "Abrir usando Rosetta" e feche a janela.

Image description

Para verificar a arquitetura atual do seu terminal, execute o comando arch no seu terminal. A saída esperada será "arm64", indicando que o terminal está configurado para a arquitetura nativa do Apple Silicon.

Em seguida, para alternar temporariamente para a arquitetura Intel x86_64, execute o comando arch -x86_64 zsh no terminal. Isso abrirá um novo shell usando a arquitetura Intel x86_64.

Novamente, execute o comando arch para verificar a arquitetura atual. Desta vez, a saída esperada será "i386", indicando que o terminal está configurado para a arquitetura Intel x86_64.

arch
Enter fullscreen mode Exit fullscreen mode

Agora, o seu terminal está pronto para executar programas que não são compatíveis com a arquitetura arm64. Isso permite que você instale e execute dependências, como o node-sass, que exigem a arquitetura Intel em vez da arquitetura nativa do Apple Silicon.

Lembre-se de que essa configuração é temporária e se aplica apenas à sessão atual do terminal. Quando você fechar o terminal ou abrir um novo, ele voltará à arquitetura nativa do Apple Silicon, a menos que você execute novamente o comando arch -x86_64 zsh.

Agora, você pode executar comandos para arquiteturas Intel usando o terminal.

4. Instale o Node.js versão 14:
O node-sass é compatível apenas com o Node.js versão 14. Utilize o NVM para instalar essa versão específica com o seguinte comando:

nvm install 14
Enter fullscreen mode Exit fullscreen mode

5. Instale as dependências do projeto e execute-o:
Após a instalação do Node.js versão 14, navegue até o diretório do seu projeto e instale as dependências utilizando o npm ou yarn. Em seguida, execute o projeto normalmente.

Observação:
Se você enfrentar problemas de memória ao executar o projeto, como no meu caso, onde precisei executar o seguinte comando: NODE_OPTIONS="--max_old_space_size=4096" npm run start. Isso aumentará o limite de memória alocada para o projeto.

Conclusão:
Ao seguir os passos mencionados acima, você poderá resolver o problema de instalação do node-sass em um MacBook Air M1. Com a instalação adequada das bibliotecas Python, utilização do Rosetta 2 e a versão correta do Node.js, você será capaz de executar seu projeto sem problemas. Lembre-se de adaptar os comandos de acordo com sua situação específica. Aproveite a compilação eficiente de arquivos Sass em seu projeto com o node-sass!

💖 💪 🙅 🚩
xulioguimaraes
Julio C Guimarães

Posted on July 5, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related