DEV Community

Cover image for Como usar o npm sem sudo no MacOS
Kaique de Miranda
Kaique de Miranda

Posted on

Como usar o npm sem sudo no MacOS

Como Usar o npm Sem sudo no macOS

Se você acabou de formatar seu macOS e tentou instalar o Angular CLI globalmente com npm install -g @angular/cli, é possível que tenha se deparado com um erro de permissão. Isso acontece porque o npm está tentando acessar um diretório que requer privilégios de administrador. Uma solução comum seria usar sudo, mas isso não é ideal por questões de segurança e conveniência.

Solução Alternativa: configurar o npm para usar um diretório diferente

Uma ótima alternativa é configurar o npm para usar um diretório para instalações globais onde você tenha permissão de escrita, eliminando a necessidade de sudo. Aqui está um guia passo a passo:

  • Crie um Novo Diretório para Instalações Globais:
   mkdir ~/.npm-global
Enter fullscreen mode Exit fullscreen mode
  • Configure o npm para Usar o Novo Diretório:
   npm config set prefix '~/.npm-global'
Enter fullscreen mode Exit fullscreen mode
  • Atualize seu Arquivo de Perfil (.zshrc):

Adicione o seguinte ao seu .zshrc para que os pacotes instalados globalmente estejam disponíveis no PATH:

   echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Recarregue o arquivo de perfil:

   source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode
  • Instale Pacotes Globalmente Sem Usar sudo:

Agora, você pode instalar qualquer pacote globalmente sem sudo. Por exemplo:

   npm install -g @angular/cli
Enter fullscreen mode Exit fullscreen mode

Script Shell para Automatizar a Configuração

Para facilitar, você pode criar um script shell com os comandos acima. Salve o seguinte em um arquivo .sh e execute no terminal:

#!/bin/zsh
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
echo "npm global setup complete. You can now install global packages without sudo."
Enter fullscreen mode Exit fullscreen mode

Lembre-se de dar permissão de execução ao script com chmod +x nome_do_script.sh.

Conclusão

Configurar o npm dessa forma não só resolve o problema de permissão, mas também torna seu sistema mais seguro, evitando o uso desnecessário de privilégios de superusuário. Além disso, você ganha mais flexibilidade com suas instalações globais do npm.

Top comments (0)