Archiviare pacchetti Node.js in Artifact Registry
Questa guida rapida mostra come configurare un repository di pacchetti Node.js privato di Artifact Registry e caricare un pacchetto al suo interno.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Installa PowerShell se vuoi connetterti a un repository di pacchetti Node.js da Windows.
Vai alla Google Cloud console.
Nella barra degli strumenti della console Google Cloud , fai clic su Attiva Cloud Shell:

Crea il repository.
Console
Apri la pagina Repository nella console Google Cloud .
Fai clic su Crea repository.
Specifica
quickstart-nodejs-repocome nome del repository.Scegli npm come formato e Standard come modalità.
In Tipo di località, seleziona Regione, quindi scegli la località
us-central1.Fai clic su Crea.
Il repository viene aggiunto all'elenco dei repository
gcloud
Esegui il comando seguente per creare un nuovo repository di pacchetti Node.js denominato
quickstart-nodejs-reponella localitàus-central1con la descrizione "Repository Node.js".gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \ --location=us-central1 --description="Node.js package repository"Esegui questo comando per verificare che il repository sia stato creato.
gcloud artifacts repositories list
Per ulteriori informazioni sui comandi di Artifact Registry, esegui il comando
gcloud artifacts.Per semplificare i comandi
gcloud, imposta il repository predefinito suquickstart-nodejs-repoe la posizione predefinita suus-central1. Una volta impostati i valori, non devi specificarli nei comandigcloudche richiedono un repository o una posizione.Per impostare il repository, esegui il comando:
gcloud config set artifacts/repository quickstart-nodejs-repoPer impostare la località, esegui il comando:
gcloud config set artifacts/location us-central1Per ulteriori informazioni su questi comandi, consulta la documentazione di gcloud config set.
Scarica il pacchetto emoji-regex, un pacchetto semplice che fornisce un'espressione regolare per trovare corrispondenze in tutti i simboli e le sequenze di emoji.
npm pack emoji-regexIl comando scarica un archivio del pacchetto.
Estrai l'archivio in una directory
emoji-regex. Il seguente comando è per un archivio della versione 10.1.0 diemoji-regex:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1Crea un secondo pacchetto npm che utilizzerai per installare il pacchetto
emoji-regexda Artifact Registry. Per questo pacchetto, utilizza il comandonpm initper creare un pacchetto di base.mkdir npm-package2 cd npm-package2 npm init -yQuando ti viene chiesto, accetta i valori predefiniti.
Configura i progetti
emoji-regexenpm-package2per l'autenticazione con il repository Artifact Registry che hai creato.Esegui questo comando. Il comando restituisce le impostazioni di configurazione da aggiungere al file di configurazione npm.
gcloud artifacts print-settings npm --scope=@quickstartL'ambito
quickstartè associato al tuo repository. Quando includi l'ambito nei comandi per pubblicare o installare pacchetti, npm utilizza il tuo repository. Quando pubblichi o installi pacchetti senza un ambito, viene utilizzato il repository predefinito configurato. Per saperne di più, consulta la panoramica di Node.js.L'output del comando
gcloudè simile all'esempio seguente. PROJECT è l'ID progetto Google Cloud .@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=trueAggiungi le impostazioni di configurazione del passaggio precedente al file
.npmrcdel progetto in ogni progetto npm. Il file nella stessa directory del filepackage.json.Per scoprire di più sul file
.npmrc, consulta la panoramica di Node.js.Ogni repository di pacchetti Node.js di Artifact Registry è associato a un endpoint del registro npm
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Se crei un altro repository di pacchetti Node.js di Artifact Registry, npm interagisce con questo come un registro separato con il proprio ambito.
Modifica
package.jsonnei progettiemoji-regexenpm-package2.Assicurati che il valore di
nameincluda l'ambitoquickstart.- Per
emoji-regex:
"name": "@quickstart/emoji-regex"- Per
npm-package2:
"name": "@quickstart/npm-package2"- Per
In
scripts, aggiungi uno script per google-artifactregistry-auth, una libreria client che aggiorna le credenziali per i repository Artifact Registry."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth --repo-config=./.npmrc --credential-config=./.npmrc" }
Aggiorna il token di accesso per la connessione al repository.
npm run artifactregistry-loginAggiungi il pacchetto al repository. Puoi utilizzare un comando
npmoyarn.npm publishyarn publishApri la pagina Repository nella console Google Cloud .
Nell'elenco dei repository, fai clic sul repository
quickstart-nodejs-repo.La pagina Pacchetti elenca i pacchetti nel repository.
Fai clic su un pacchetto per visualizzarne le versioni.
Apri la pagina Repository nella console Google Cloud .
Nell'elenco dei repository, seleziona il repository
quickstart-nodejs-repo.Fai clic su Elimina.
Per eliminare il repository
quickstart-nodejs-repo, esegui questo comando:gcloud artifacts repositories delete quickstart-nodejs-repoSe vuoi rimuovere il repository predefinito e le impostazioni di posizione configurate per la configurazione
gcloudattiva, esegui i comandi seguenti:gcloud config unset artifacts/repository gcloud config unset artifacts/location- Scopri di più sulla configurazione dell'autenticazione
- Scopri di più sulla gestione dei repository
- Scopri di più sulla gestione dei pacchetti
- Leggi le nostre risorse su DevOps ed esplora il nostro programma di ricerca.
Avvia Cloud Shell
In questa guida rapida utilizzerai Cloud Shell, un ambiente shell per la gestione delle risorse ospitate su Google Cloud.
Cloud Shell include Google Cloud CLI preinstallato. gcloud CLI fornisce l'interfaccia a riga di comando principale per Google Cloud.
Avvia Cloud Shell:
Una sessione di Cloud Shell si apre in un frame nella parte inferiore della console.
Utilizza questa shell per eseguire i comandi gcloud.
Crea un repository di pacchetti Node.js
Crea il repository per gli artefatti Node.js.
Configura npm
Per caricare e scaricare i pacchetti, devi configurare i tuoi progetti npm con le impostazioni per l'autenticazione con il repository che hai creato. Per questa guida rapida, caricherai un pacchetto semplice e lo installerai in un secondo pacchetto come dipendenza.
Carica un pacchetto nel repository
Visualizza il pacchetto nel repository
Per verificare che il pacchetto sia stato aggiunto al repository:
Console
gcloud
Per elencare le immagini nel repository quickstart-nodejs-repo predefinito, esegui il comando seguente:
gcloud artifacts packages list
Per visualizzare le versioni di un pacchetto, esegui questo comando:
gcloud artifacts versions list --package=PACKAGE
Dove PACKAGE è l'ID pacchetto.
Installazione dei pacchetti
Installa il pacchetto emoji-regex dal repository Artifact Registry
in npm-package2.
Nella directory npm-package2, esegui il comando npm install o yarn add:
npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex
Il comando installa il pacchetto emoji-regex nel progetto npm-package2.
Inoltre, aggiorna package.json per impostare emoji-regex come dipendenza.
"dependencies": {
"@quickstart/emoji-regex": "^10.1.0"
}
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Prima di rimuovere un repository, assicurati che tutti i pacchetti che vuoi conservare siano disponibili in un'altra posizione.
Per eliminare il repository: