- Blog
- Maneiras incomuns de instalar um pacote NPM
Maneiras incomuns de instalar um pacote NPM
Alguma delas ainda pode te ajudar em algum projeto
É comum instalar pacotes e dependências com as opções mais comuns: usando -g
ou --global
para instalar um pacote globalmente, --save
ou -s
para dependências que devem ser utilizadas em ambiente de produção (dependencies
) e --save-dev
ou -D
para dependências que só devem ser instaladas em ambiente de desenvolvimento (devDependencies
). Talvez você até já tenha manipulado outros tipos de dependências (como peerDependencies
).
No entanto, existem algumas outras formas de instalar um pacote que podem ser úteis para seu projeto. Sejam elas relacionadas ao registro (ou registry) do NPM ou não. Algumas delas podem te ajudar em ambientes de produção e outras podem facilitar seu fluxo de desenvolvimento local.
#Instalando via Git/Github
Instalar um pacote NPM via Git/Github é possível, caso você não tenha uma biblioteca ou algum projeto publicado e queira instalar como uma dependência.
Para fazer isso, basta executar o conhecido npm install
ou npm i
e informar nome-de-usuario/repositorio
do seu pacote npm.
Ou seja, imaginando um projeto como https://github.com/gabrieluizramos/hooks
, basta executar:
npm i gabrieluizramos/hooks
Que isso instalará o projeto como um pacote NPM para você utilizar.
Após instalar dessa forma, você verá que seu package.json
possuirá as informações do pacote corretamente:
{
"dependencies": {
"hooks": "github:gabrieluizramos/hooks",
}
}
Você também pode instalar informando a url do git
diretamente, como:
npm i https://github.com/gabrieluizramos/hooks.git
Isso também funciona perfeitamente! No entanto, agora seu package.json
apontará para essa URL:
{
"dependencies": {
"hooks": "git+https://github.com/gabrieluizramos/hooks.git",
}
}
#Instalando localmente via NPM link
Talvez você já conheça essa maneira e até já tenha utilizado. Possui algum código que quer reutilizar em outro projeto? Talvez npm link
funcione bem.
Vamos imaginar que você está desenvolvendo o projeto-super-secreto
e fez uma biblioteca chamada lib-ultra-secreta
.
Na pasta da sua lib-ultra-secreta
, você pode executar:
npm link
Esse comando criará um link simbólico (ou symlink) do seu projeto NPM (no caso, a lib-ultra-secreta
) nas suas dependências globais.
Feito isso, basta ir no seu projeto-super-secreto
e executar:
npm link lib-ultra-secreta
Isso irá "apontar" o pacote lib-ultra-secreta
do seu projeto, para o link simbólico criado globalmente na sua máquina. Bacana, não?
Só não se esqueça de remover esses links todos ao finalizar o desenvolvimento.
Para fazer isso, na sua lib-ultra-secreta
execute:
npm unlink
E no seu projeto-super-secreto
, respectivamente:
npm unlink lib-ultra-secreta
#Instalando localmente via file://
Tive que utilizar essa maneira recentemente. Bem parecido com o processo utilizando npm link
.
No cenário acima, poderíamos estar no projeto-super-secreto
e executar o comando:
npm i ../caminho/da/lib-ultra-secreta
Isso também instalaria o pacote mas, dessa vez, utilizando o protocolo file
. Igual quando abrimos um arquivo no navegador e acessamos utilizando esse mesmo protocolo, lembra?
#Instalando localmente com Verdaccio
A última opção e provavelmente a mais robusta é utilizando Verdaccio.
O que o Verdaccio faz é, basicamente, criar um registro do NPM de forma privada localmente. Dessa forma, você consegue publicar e instalar pacotes apontando para esse registro local.
Você precisar instalá-lo de forma global:
npm i -g verdaccio
Após isso, é só executar:
verdaccio
E um processo iniciará o registro local e deverá ficar rodando. Você deverá deixar essa janela do terminal aberta.
Acesse o painel do Verdaccio através da porta 4873
localmente (localhost:4873
) e siga algumas pequenas configurações (para realizar login). Essa etapa é importante para que você possa configurar seu projeto para publicar/instalar algum pacote utilizando esse registro privado.
Para adicionar o registro localmente, é só rodar:
npm adduser --registry http://localhost:4873
Com isso, indicar um usuário/senha para esse registro. Com isso, tudo já estará configurado. Para publicar algum projeto no registro do Verdaccio, basta executar o publish
padrão informando a URL:
npm publish --registry http://localhost:4873
E para instalar, também:
npm i lib-ultra-secreta --registry http://localhost:4873
#É isso aí! 📦
Particularmente utilizo bastante o npm link
, já usei o Verdaccio
e a instalação via git
algumas vezes e, recentemente, utilizei o link através do protocolo file://
e funcinou bem também.
Espero que alguma dessas diferentes formas de instalar um pacote possa te ajudar em algum projeto por aí.