Aula 09
Publicação e Instalação de Pacote Implícita com publishConfig e .npmrc – Registro Verdaccio
Summary
Resumo da Aula sobre Registro Particular de NPM
Olá pessoal! Nesta aula do Verdátil, aprendemos a definir um registro para o repositório do seu pacote, evitando a necessidade de digitar a opção --registry
em todos os comandos NPM.
Passos Apresentados:
-
Remoção da Dependência:
- Usamos o comando
npm uninstall meu pacote compartilhado --registry <URL>
para remover a dependência atual do pacote.
- Usamos o comando
-
Configuração do package.json:
- Para evitar a repetição do comando
--registry
, vamos adicionar uma nova propriedade aopackage.json
do projeto consumidor. - A propriedade a ser adicionada é
publishConfig
:{ "publishConfig": { "registry": "<URL do Verdátil>" } }
- Nota: Essa configuração se aplica somente para publicações, não para consumo.
- Para evitar a repetição do comando
-
Teste de Publicação:
- Ao realizar
npm publish
no pacote compartilhado, verificamos que a versão foi atualizada corretamente.
- Ao realizar
-
Uso do arquivo .npmrc:
- Para consumir pacotes do registro privado, a solução final foi criar um arquivo chamado
.npmrc
no pacote consumidor:registry = <URL do Verdátil>
- Com isso, ao executar
npm install meu pacote compartilhado
, o pacote foi instalado corretamente, evidenciado pela presença do URL do Verdátil nonode_modules
.
- Para consumir pacotes do registro privado, a solução final foi criar um arquivo chamado
Conclusão:
Para simplificar o uso do registro privado do Verdátil, você pode optar por configurar o .npmrc
para a instalação de pacotes, ou a propriedade publishConfig
para publicações. Isso elimina a necessidade de digitar o parâmetro --registry
repetidamente.
Video Transcript
Olá pessoal, estamos de volta com mais uma aula do Verdátil, registro particular de
NPM.
Aprendemos como publicar um pacote e aprendemos também como consumir um pacote do Verdátil.
Agora vamos ver como se define um registro para o seu repositório.
Isto é, a gente não precisa mais, não quer mais sempre ter que digitar traço-traço registry
toda vez que fazer o comando de NPM.
Então como fazer isso?
Peia várias maneiras e vou te mostrar uma maneira através do package.json.
Tenho aqui este projeto do pacote consumidor que consume meu pacote compartilhado como
dependência.
Deixa eu só remover para a gente poder instalar de novo de outra maneira.
Vou dar NPM uninstall meu pacote compartilhado traço-traço registry espaço ao URL.
Agora não tem mais aquela dependência, foi removido aqui na linha 11 do package.json.
Agora a gente quer fazer a mesma coisa, NPM install meu pacote compartilhado, mas a gente
não quer mais ter que digitar sempre traço-traço registry espaço ao URL.
Vamos lá para o package.json do seu projeto que consome os pacotes.
Eu vou adicionar a propriedade.
Na final aqui depois a nova linha 12, não se esqueça da vírgula antes na linha 11,
no final.
Vamos adicionar essa propriedade que eu vou chamar de publish config em cramlcase, o c do
config é maiúsculo e define um objeto aqui e dentro desse objeto registry é o nome da
propriedade e você vai dar o URL nesse caso do verdade que eu vou copiar no meu terminal.
Então na verdade é como se a gente tivesse usado registry e a opção corresponde ao
nome da propriedade e o valor aqui no lado esquerdo.
Tá bom?
Então vamos testar.
Deixa eu ver aqui se não vai dar nenhum problema.
NPM install meu pacote compartilhado sem opção traço-traço registry.
Eu salvei o package.json lá.
Opa, não encontrou.
Então ele tentou usar o NPM mesmo.
Então deixa eu ver aqui esse que tá publish config e isso significa só da publicação.
Então eu acho que esse é só para publicação.
Deixa eu ver aqui no pacote no outro pacote aqui.
No meu pacote compartilhado, vamos ver.
Eu vou abrir o adlon.
No meu pacote compartilhado aqui abaixo à esquerda.
Já tá na versão 102.
Deixa eu botar versão 101.
Agora vai para versão 102.
Eu quero ver aqui, eu vou na verdade copiar o publish config com a propriedade registry
para o package.json do meu pacote compartilhado.
Porque se eu ler o nome da propriedade realmente fala publish que é publicar.
Então acho que funciona para publicar, não para consumir.
Vamos testar.
Deixa eu ver aqui.
Adicionei a vírgula, tudo certo.
Para o meu pacote compartilhado, eu vou falar NPM publish.
Eu vou falar atrás de dryrun para ver no que dá.
Meu pacote foi 102 e tal e tal e tal.
Eu vou tirar o dryrun.
E eu falei NPM publish, vamos lá na verdade ver se realmente mudou.
Realmente mudou, a versão apareceu atualizada aqui para 102.
Certo?
Então me desculpe, inicialmente esse publish config no package.json é para publicar,
não é para consumir.
Tá? Do pacote que é para publicar.
Então, revisando de novo.
Você tem um pacote que você quer publicar para o verdade, o seu registro particular.
E você não quer ter que falar NPM publish com aquela opção traço-traço registry.
O que fazer?
Adiciona a propriedade publish config ao seu package.json e dentro desse object,
uma nova propriedade registry com o valor é a URL do verdade.
Com isso não precisa ter mais opção traço-traço registry explícita,
toda vez falar NPM publish.
Agora vamos no lance do pacote lá consumidor.
Vamos aqui.
Vamos olhar outra maneira aqui.
Como o publish não funcionou, eu vou tirar, tá?
Eu vou criar um arquivo chamado .npmrc,
arquivo .npmrc na parte do pacote traço-consumidor,
que ele consume o meu pacote compartilhado.
E dentro disso eu vou falar o seguinte,
eu vou falar registry igual ao URL do verdade.
HTTP, dois pontos, barra-barra, no meu caso, 0.0, 0.0, 0.0, 2 pontos, 48, 73.
Vou saber aqui o ponto NPMrc.
Vou lá no terminal, vamos tentar novamente na outra aba do pacote consumidor,
e vou tentar NPM install no meu pacote compartilhado.
Agora instalou versão 1.0.2,
vamos lá no node modules do pacote consumidor,
meu pacote compartilhado apareceu.
Vou falar no node que tem o resolved e tem o URL do verdade.
Tá bom? Então o package de versão aparece,
o meu pacote compartilhado de novo.
Então no caso do seu projeto,
que quer consumir um pacote do registro privado particular do verdade,
cria um arquivo .npmrc, adicione a chave-valor,
nesse caso registry igual ao URL do verdade.
Pronto?
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: