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 à collerPuis 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: falseproxy: 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