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
- Configure o npm para Usar o Novo Diretório:
npm config set prefix '~/.npm-global'
- 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
Recarregue o arquivo de perfil:
source ~/.zshrc
- Instale Pacotes Globalmente Sem Usar sudo:
Agora, você pode instalar qualquer pacote globalmente sem sudo. Por exemplo:
npm install -g @angular/cli
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."
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)