Guia de início rápido do npm

Neste guia de início rápido, mostramos como configurar um repositório npm do Artifact Registry e fazer upload de um pacote para ele.

O gerenciamento de pacotes está em Alfa. Ele só está disponível para usuários Alfa e pode não incluir todos os recursos disponíveis para o gerenciamento de contêineres. Para se inscrever no Alfa, preencha o formulário de inscrição.

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative a API Artifact Registry.

    Ative a API

  5. Instale e inicialize o SDK do Cloud..
  6. Instale o PowerShell se quiser se conectar a um repositório npm pelo Windows.

Criar um repositório npm

Crie o repositório para seus artefatos do Node.js.

  1. Crie o repositório.

    Console

    1. Abra a página Repositórios no Console do Cloud.

      Abrir a página "Repositórios"

    2. Clique em Criar repositório.

    3. Especifique quickstart-npm-repo como o nome do repositório.

    4. Escolha npm como formato.

    5. Em Tipo de local, selecione Região e escolha o local us-central1.

    6. Clique em Criar.

    O repositório é adicionado à lista de repositórios

    gcloud

    1. Execute o seguinte comando para criar um novo repositório npm chamado quickstart-npm-repo no local us-central1 com a descrição "repositório do npm".

      gcloud artifacts repositories create quickstart-npm-repo --repository-format=npm \
      --location=us-central1 [--description="npm repository"]
      
    2. Execute o seguinte comando para verificar se o repositório foi criado.

      gcloud artifacts repositories list
      

    Para mais informações sobre os comandos do Artifact Registry, execute o comando gcloud artifacts.

  2. Para simplificar os comandos gcloud, defina o repositório padrão como quickstart-npm-repo e o local padrão como us-central1. Depois que os valores forem definidos, não será necessário especificá-los nos comandos gcloud que exigem um repositório ou local.

    Para definir o repositório, execute o comando:

    gcloud config set artifacts/repository quickstart-npm-repo
    

    Para definir o local, execute o comando:

    gcloud config set artifacts/location us-central1
    

    Para mais informações sobre esses comandos, consulte a documentação do gcloud config set.

Configurar uma conta de serviço para o cliente

Crie ou escolha uma conta de serviço atual para agir em nome do npm.

  1. Crie uma conta de serviço para agir em nome do seu aplicativo ou escolha uma conta de serviço atual que você usa para automação.

    Você precisará do local do arquivo de chave da conta de serviço para configurar a autenticação com o Artifact Registry. Para contas existentes, é possível ver as chaves e criar novas chaves na página "Contas de serviço".

    Acessar a página "Contas de serviço"

  2. Conceda o acesso de leitura e gravação da conta de serviço ao seu repositório.

    gcloud artifacts repositories add-iam-policy-binding \
    quickstart-npm-repo --location=us-central1 --member='serviceAccount:ACCOUNT' --role='roles/artifactregistry.writer'
    

    Em que ACCOUNT é o ID da conta de serviço no formato USERNAME@PROJECT-ID.iam.gserviceaccount.com.

  3. Atribua o local do arquivo de chave da conta de serviço à variável GOOGLE_APPLICATION_CREDENTIALS para que o auxiliar de credenciais do Artifact Registry possa conseguir sua chave ao se conectar com os repositórios.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    Em que KEY-FILE é o caminho para o arquivo de chave da conta de serviço.

    Para saber como configurar a autenticação por senha com o arquivo de chave da conta de serviço, consulte a documentação authentication#auth-password.

Configurar NPM

  1. Crie um pacote npm para fazer upload. Se você não tiver um pacote disponível para usar com este guia de início rápido, execute o seguinte comando para criar um arquivo package.json simples:

    npm init -y
    
  2. Configure o projeto npm para implantar no repositório do Artifact Registry que você criou.

    1. Execute o comando a seguir. O comando retorna definições de configuração para adicionar ao arquivo de configuração do npm.

      gcloud artifacts print-settings npm --scope=@quickstart
      

      O escopo quickstart está associado ao repositório. Quando você inclui o escopo nos comandos para publicar ou instalar pacotes, o npm usa seu repositório. Quando você publica ou instala pacotes sem um escopo, o repositório padrão configurado é usado. Para mais informações, consulte a visão geral do Node.js.

      A saída do comando gcloud tem esta aparência:

      @quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-npm-repo/
      //us-central1-npm.pkg.dev/PROJECT/quickstart-npm-repo/:_authToken=""
      //us-central1-npm.pkg.dev/PROJECT/quickstart-npm-repo/:always-auth=true
      
    2. Adicione as definições de configuração da etapa anterior ao arquivo .npmrc do projeto. O arquivo geralmente está no mesmo diretório que o arquivo package.json.

      Substitua PROJECT pela ID do seu projeto.

      Para saber mais sobre o arquivo .npmrc, consulte a visão geral do Node.js.

Cada repositório npm do Artifact Registry está associado a um endpoint de registro do npm https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Se você criar outro repositório npm do Artifact Registry, o npm interage com ele como um registro separado com o próprio escopo.

Fazer upload de um pacote para o repositório

  1. Escolha um pacote para fazer upload. Certifique-se de que o nome do pacote em package.json inclua o escopo quickstart.

    "name": "@quickstart/my-package"
    
  2. Atualize o token de acesso para se conectar ao repositório. google-artifactregistry-auth é uma biblioteca de cliente que atualiza as credenciais dos repositórios do Artifact Registry. Para atualizar as credenciais, use uma destas opções:

    • Adicione um script ao arquivo package.json no seu projeto.

      "scripts": {
        "artifactregistry-login": "npx google-artifactregistry-auth"
      }
      

      Execute o script com o comando:

      npm run artifactregistry-login PROJECT-NPMRC
      

      Em que PROJECT-NPMRC é o caminho para o arquivo .npmrc no diretório do projeto.

    • Para versões do NPM anteriores à 5.2.0, siga estas etapas:

      1. Execute o comando:
      npm install google-artifactregistry-auth --save-dev --registry https://registry.npmjs.org/
      
      1. Adicione-o a um script de autenticação:
      "scripts": {
          "artifactregistry-login": "./node_modules/.bin/artifactregistry-auth",
      }
      

      Execute o script com o comando:

      npm run artifactregistry-login PROJECT-NPMRC
      

      Em que PROJECT-NPMRC é o caminho para o arquivo .npmrc no diretório do projeto.

  3. Adicione o pacote ao repositório. Use um comando npm ou yarn.

    npm publish
    
    yarn publish
    

Ver o pacote no repositório

Para verificar se o pacote foi adicionado ao repositório:

Console

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página "Repositórios"

  2. Na lista de repositórios, selecione o repositório quickstart-npm-repo.

    A página Pacotes lista os pacotes no repositório.

  3. Clique em um pacote para ver as versões dele.

gcloud

Para listar as imagens no repositório padrão quickstart-npm-repo, execute o seguinte comando:

 gcloud artifacts packages list

Para ver as versões de um pacote, execute o seguinte comando:

gcloud artifacts versions list --package=PACKAGE

Em que PACKAGE é o ID do pacote.

Como instalar pacotes

Para instalar um pacote a partir do repositório npm, use o comando npm install ou yarn add. Substitua PACKAGE pelo nome do seu pacote.

npm install @quickstart/PACKAGE
yarn add @quickstart/PACKAGE

Limpeza

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

Antes de remover um repositório, verifique se os pacotes que você quer manter estão disponíveis em outro local.

Para excluir o repositório:

Console

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página "Repositórios"

  2. Na lista de repositórios, selecione o repositório quickstart-npm-repo.

  3. Clique em Excluir.

gcloud

  1. Para excluir o repositório quickstart-npm-repo, execute o seguinte comando:

    gcloud artifacts repositories delete quickstart-npm-repo
    
  2. Se você quiser remover as configurações padrão de repositório e localização que definiu para a configuração ativa gcloud, execute os seguintes comandos:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

A seguir