Nesse
post eu vou trazer algo bem interessante que aprendi na minha primeira semana
no novo emprego: como trabalhar com mais de uma versão do Node e do Angular na
mesma máquina de forma simples.
Quem costuma
trabalhar em projetos diferentes e por vezes com versões diferentes do Angular,
sabe que este pode exigir versões diferentes do Node, e justamente para
facilitar essa tarefa existem dois carinhas muito interessantes: um é o NVM e o
outro o NPX. Na verdade, existe um projeto chamado NVM (Node Version Manager)
para Linux/Mac e outro projeto homônimo para Windows. Já o NPX vem no próprio NPM.
Basicamente
a tarefa do NVM é manter versões do Node diferentes instaladas na máquina, e ao
dizer para ele qual usar (com o comando nvm use) ele vai preparar as
variáveis de ambiente e disponibilizar a versão de forma transparente.
O uso da
versão para Windows depois de instalado basicamente se resume a:
nvm install 10.16.3
nvm use
10.16.3
Segue o
link para os projetos NVM:
Versão
para Windows:
Versão
para Linux/Mac:
Agora
vamos falar sobre o NPX. Como já mencionei ele vem com o NPM a partir da
versão 5.2.x pelo que pesquisei, e o que ele faz é executar projetos a partir das
libs do próprio projeto, onde estão os binários necessários, sem ter que
instalar nada globalmente. É o package runner do npm. E caso algo que eu
queira executar não exista na máquina, ele baixa e executa, depois apaga o que
foi baixado para não deixar sujeira na máquina. Inclusive ele roda projetos
diretamente a partir do GitHub.
Para
instalar basta digitar:
npm
install -g npx
E como estamos falando de Angular,
para executar os comandos basta colocar o npx na frente e pronto! Lembre-se! A
partir de agora você não precisa mais instalar coisas globais, apenas nas
dependências do seu projeto!
Para rodar um projeto Angular então,
basta de dentro do diretório do projeto executar:
npx ng
serve
Segue o link do projeto com exemplos e
a documentação:
Abraços!
Muito legal a dica! Uma alternativa que estou usando no momento é esse projeto aqui:
ResponderExcluirhttps://github.com/asdf-vm/asdf
É que exite gerenciadores de versões diferentes pra linhagens e ferramentas diferentes. O ASDF nos permite controlar todas (ou várias ^^) através de uma única ferramenta.
Legal, vou dar uma olhada depois!
Excluir