58 votes

De ne pas publier d'un mécanisme national de prévention de Registre (local)

Je suis en cours d'exécution Nexus 3.0.1-01, et je suis de l'utiliser pour héberger à la fois les dépôts Maven et NPM registres. Pour les MNP, j'ai un miroir local de npmjs.org, un local MNP registre et un groupe qui combine les deux...

enter image description here

J'ai été en utilisant ce avec mnp en interne, où je peux utiliser le npm-groupe public comme ma base de registre et cela a très bien marché. Donc, je peux utiliser Nexus à miroir npmjs.

La prochaine étape est de prendre localement écrit mnp modules et de les publier à npm-communiqués de presse (sur mon Nexus exemple), de sorte que ces modules peuvent être partagés entre les équipes de livraison ici. J'ai été en mesure de construire un paquet, et npm pack semble se comporter.

J'ai couru mnp adduser pour donner mon Nexus informations d'identification pour mon mnp de l'environnement. Je suis en utilisant le même nom d'utilisateur/mot de passe que j'utilise quand je me connecte sur le Nexus web app, et mon utilisateur est assigné le rôle admin (donc je devrais avoir toutes les autorisations nécessaires). Je peux voir les informations d'identification dans mon .npmrc fichier

enter image description here

Ma valeur de registre est toujours le npm-public groupe qui combinait le miroir et mon registre local. J'ai veillé à ce que le paquet.json du module, je tente de déployer a un "publishConfig de la section" qui pointe vers l'url du registre local (pas le groupe public)

enter image description here

Toutefois, en dépit de tout cela, en appelant "npm publier" provoque une erreur 401...

enter image description here

En regardant le npm-debug.journal, je peux voir qu'il tente d'appeler le HTTP PUT appel à pousser l'assemblé tgz fichier dans le registre, et c'est de retourner une erreur 401

enter image description here

J'ai activé la journalisation du débogage sur le shiro dans le package du serveur, mais je n'en ai jamais vu un seul message en pensant qu'il a besoin d'une authentification

2016-09-13 08:56:28,590+1000 DEBUG [qtp1257823896-4030] *UNKNOWN org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter - Authentication required: sending 401 Authentication challenge response.

Selon la documentation, j'ai fait tout ce que je suis censé faire (mnp ajouter un utilisateur), mais je suis incapable de réussir le déploiement d'un mécanisme de prévention module pour mon dépôt local.

Sont t-il d'autres options que j'ai besoin d'utiliser lors de l'appel de mnp publier? D'autres paramètres que j'ai besoin de faire à la a accueilli mnp référentiel dans mon serveur qui va me permettre de publier? Je suis assez d'créé en utilisant les valeurs par défaut. Ai-je manqué une étape qui m'empêche de déployer à mon hébergés mnp de registre?

Toute aide serait grandement apprécié, car je suis bloqué pour le moment.

119voto

EdH Points 3168

Il s'avère que je n'ai pas eu le mécanisme national de prévention au Porteur du Jeton de Domaine dans ma liste des royaumes. Une fois que je l'ai déplacé à l'état Actif, la publication est terminée avec succès!

enter image description here

16voto

Daniel Schröter Points 133

Additonally à @EdH de réponse, nous avons découvert que le format de .npmrc a changé de sorte encodées en base64 _auth ne fonctionne plus... et le jeton doit être créée par l'exploitation forestière dans le repo.

vieux .npmrc

registry=https://host/repo
_auth=12afdjsljl123213

de nouvelles .npmrc

//host/repo/:_authtoken=uuidOfToken

9voto

Nick G Points 1689

En plus de @Daniel réponse, j'ai découvert que lors de l'ajout d'informations d'identification utilisateur/l'exploitation forestière dans les mnp, vous ne pouvez pas avoir une barre oblique sur le registre de l'url.

Mauvais:

npm adduser --registry=https://repo.localhost/repository/npm-internal/

Bon:

npm adduser --registry=https://repo/repository/npm-internal

Aussi, si vous êtes à la recherche d'automatiser la connexion (c'est à dire de manière non interactive), j'ai utilisé un bon outil appelé npm-cli-login.

npm-cli-login -u admin -p admin123 -e nick@foo.bar -r https://repo/repository/npm-internal

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X