J'essaie d'utiliser un registre privé npm
du registre de mes projets NODEJS et j'utilise Nexus pour cette affaire. J'ai gardé admin
utilisateur à utiliser, au moins pour tester et de garantir qu'il n'y a pas de problème d'autorisation. Cependant, je peux me connecter ni publier à l'aide de npm login --registry <private-registry-address>
et npm publish --registry <private-registry-address>
réceptivement. J'ai utilisé plusieurs méthodes, d'abord j'ai ajouté manuellement des entrées dans .npmrc
Fichier comme suit:
Celui-ci est mentionné dans Nexus 3 Docs :
➜ echo "email=$NPM_EMAIL" > $HOME/.npmrc
➜ echo "_auth=$(echo -n "$NPM_USER:$NPM_PASS" | openssl base64)" >> $HOME/.npmrc
➜ echo "always-auth=true" >> $HOME/.npmrc
Ensuite, j'essaie de publier en utilisant npm publish --registry http://172.17.0.1:8081/repository/npmtest/
, mais ça me donne juste:
npm ERR! code E400
npm ERR! 400 Bad Request - PUT http://172.17.0.1:8081/repository/npmtest/mypackage
Celui-ci est une sorte de fonctionnaire dans NPM Docs :
Ici, je me connecte au repo en utilisant les informations d'identification que j'ai comme suit:
➜ npm login --registry http://172.17.0.1:8081/repository/npmtest/
et entrez mes crédits de connexion:
Username: admin
Password:
Email: (this IS public) [email protected]
Mais malheureusement, cela me donne la même erreur exacte:
npm ERR! code E400
npm ERR! 400 Bad Request - PUT http://localhost:8081/repository/npmtest/-/user/org.couchdb.user:admin
J'ai ajouté npm Bearer Token Realm
À Nexus car j'ai vu dans de nombreuses discussions et cela n'a pas aussi fait de différence.
J'ai essayé d'utiliser un autre repo verdaccio
et cela fonctionnait normalement, c'est pourquoi je suis sûr que c'est une question de Nexus.
Remarque: J'utilise tous les gestionnaires de repo (Nexus et Verdaccio) en tant que conteneurs Docker, de toute façon, cela ne devrait pas être un problème.
Je cours npm
Version 6.10
Quelle pourrait être une solution ici pour que Nexus fonctionne?
Assurez-vous d'avoir sélectionné le format et tapez corrects pour le référentiel. Dans mon cas, j'ai accidentellement créé le référentiel NPM avec le format incorrect.
J'ai créé un Format: nuget
à la place de Format: npm
.
Vous pouvez voir le format lorsque vous sélectionnez le référentiel dans le tableau de bord Nexus.