Registre Verdaccio

Administration du registre npm privé, utilisateurs, packages, versions, tags et droits d'accès.

Commandes de gestion du registre privé Verdaccio à https://registry.lrvo.app/.

Pour publier un package, voir Publication. Pour synchroniser le token dans un projet, voir lrvo-key.

Token

npm login dépose un token dans ~/.npmrc. C'est un token opaque Verdaccio, pas un JWT : il n'expire pas dans le temps. Il cesse de fonctionner seulement si le secret du serveur change, si le mot de passe de l'utilisateur est modifié, ou si le compte est révoqué. Un nouveau npm login n'invalide pas l'ancien token.

npm login --registry=https://registry.lrvo.app/   # obtenir ou renouveler
npx lrvo-key                                       # synchroniser dans le projet
npx lrvo-key status                                # vérifier, token masqué

Le .npmrc d'un projet porte le token en clair. Il est suivi par git par défaut, ce qui suppose un dépôt privé : voir Secrets et git.

Utilisateurs

Créer

npm adduser --registry=https://registry.lrvo.app/

Modifier un mot de passe

Verdaccio ne propose pas de commande native. Modifier directement le fichier htpasswd sur le serveur :

htpasswd -n USERNAME     # génère le hash à coller

Puis remplacer la ligne correspondante dans le htpasswd de Verdaccio.

Supprimer

Supprimer la ligne de l'utilisateur dans le htpasswd sur le serveur, chemin par défaut /etc/verdaccio/htpasswd.

Packages

# Lister les packages publiés
npm search --registry=https://registry.lrvo.app/ "@lrvo"

# Supprimer une version précise
npm unpublish @lrvo/[email protected] --registry=https://registry.lrvo.app/

# Déprécier une version
npm deprecate @lrvo/[email protected] "Raison" --registry=https://registry.lrvo.app/

Préférer toujours deprecate à unpublish : la dépréciation avertit les consommateurs sans casser une installation existante.

# Supprimer toutes les versions d'un package
npm unpublish @lrvo/core --force --registry=https://registry.lrvo.app/

--force supprime définitivement l'ensemble du package. À n'utiliser que si aucun projet consommateur n'en dépend.

Tags

npm dist-tag ls @lrvo/core --registry=https://registry.lrvo.app/
npm dist-tag add @lrvo/[email protected] latest --registry=https://registry.lrvo.app/
npm dist-tag rm @lrvo/core beta --registry=https://registry.lrvo.app/

Droits d'accès

Les droits sont dans la section packages du config.yaml sur le serveur.

packages:
  '@lrvo/*':
    access: $authenticated
    publish: $authenticated
    unpublish: $authenticated
    proxy: false

proxy: false empêche le registre de retomber sur npm public pour le scope @lrvo, ce qui évite qu'un nom de package interne soit résolu depuis l'extérieur.

Redémarrer après toute modification :

systemctl restart verdaccio
# ou, en Docker :
docker restart verdaccio

Sur cette page