Howto private Projekte in Sinopia veröffentlichen (npm adduser für private Registrierung schlägt fehl)

Ok, so habe ich es endlich geschafft, sich ein eigenes npm-registry mit Sinopia. Aber ich kann nicht alles veröffentlichen.

TL;DR: Sinopia nicht unterstützt npm adduserhat aber seine eigenen user
management. Auch npm muss ein Gültiger Benutzer erstellt, bevor npm veröffentlichen
durch npm adduser, was fehlschlägt, weil die interne Sinopia server
wirft einen Fehler an der nicht unterstützten Befehl....

Wie nutzt man Sinopia als private Registrierung mit der richtigen Benutzer und Kennwörter

  1. erstellen Sie einen globalen Benutzer in npmjs.org und dann noch eine mit dem gleichen Passwort in Sinopia?
  2. Oder gibt es einen einfacheren Weg, zu sagen, npm, nur mit einer festen Benutzer/pass.
  3. Oder noch besser, fragt mich irgendwie für Benutzername und Passwort?
  4. etwas anderes?

Inhalt:

Sinopia hängt nicht von der Couch.DB und wird hapilly fetch-Pakete, die nicht bereits von einem master (default ist die Globale npmjs.org).

Sinopia startet perfekt und ist konfiguriert, um alle Schnittstellen Abhören. Es wirkt Wunder im Dienst-Pakete zu

npm install

Ich selbst konfigurierte ~/.npmrc zu weisen immer wieder auf die interne registry.

Alle Projekte' - Paket.json-Datei

  ....
  "publishConfig" : {
     "registry" : "http://internal-npm:4873"
  },
  ....

Auch ich es geschafft, fügen Sie benutzerdefinierte Benutzer in sinopia durch die Manipulation der config.yaml mit Hilfe von js-yaml

crypto.createHash('sha1').update('theBigPassword').digest('hex')

Nun bin ich am stecken

npm --registry=http://internal-npm:4873 --ca=null publish

Nach langem warten bekomme ich:

npm ERR! need auth auth and email required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

npm ERR! System Linux 3.11.0-18-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "--registry=http://internal-npm:4873" "--ca=null" "publish"
npm ERR! cwd /home/ciprian/workspace/netop-npm
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR! code ENEEDAUTH
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/ciprian/workspace/netop-npm/npm-debug.log
npm ERR! not ok code 0

Dem Ende der log-Datei sagt mir, dass der Nutzer nicht optional

86 error need auth auth and email required for publishing
86 error need auth You need to authorize this machine using `npm adduser`
87 error System Linux 3.11.0-18-generic
88 error command "/usr/bin/nodejs" "/usr/bin/npm" "--registry=http://internal-npm:4873" "--ca=null" "publish"
89 error cwd /home/ciprian/workspace/netop-npm
90 error node -v v0.10.15
91 error npm -v 1.2.18
92 error code ENEEDAUTH
93 verbose exit [ 1, true ]

Nun, die Huhn-und-ei - Problem ist, dass Sinopia nicht unterstützen npm addusersondern hat seine eigenen Benutzer-management-wie ich oben erwähnt habe. Auch npm muss ein Gültiger Benutzer erstellt durch npm adduserwas fehlschlägt, weil die interne Sinopia server gibt eine Fehlermeldung aus, an der nicht unterstützten Befehl.

InformationsquelleAutor der Frage cdanea | 2014-03-25

Schreibe einen Kommentar