2016-08-04 8 views
7

Ich möchte global eine NPM-Registrierung für eine bestimmte scope mit einer bestimmten token verwendet werden.NPM mit einer Token-Registrierung global zu einem bestimmten Bereich konfigurieren (@organisation)

Ich weiß, dass ich verwenden kann:

$ npm login [email protected] 

Und ich kann auch schreiben ~/.npmrc mit:

//registry.npmjs.org/:_authToken=XXXX 

Aber was ich will, ist ein combinaison der beiden Methoden: Mit dem Token beim Zuweisen der Registrierungs-URL zu meinem Bereich.

Ich habe versucht:

npm config set @organisation:registry https://registry.npmjs.org/:_authToken=XXXX 

Aber wenn ein NPM-Befehl ausgeführt wird (zB npm install @organisation/my-package). Ich bekomme folgende Fehlermeldung:

npm ERR! Darwin 15.6.0 
npm ERR! argv "/Users/me/.nvm/versions/node/v6.2.2/bin/node" "/Users/me/.nvm/versions/node/v6.2.2/bin/npm" "install" "@organisation/my-package" 
npm ERR! node v6.2.2 
npm ERR! npm v3.10.3 
npm ERR! code E403 
npm ERR! you do not have permission to publish ":_authToken=XXXX". Are you logged in as the correct user? : :_authToken=XXXX 

Gibt es eine Lösung? (Ich muss ein Token und keine env-Variable verwenden).

PS: https://github.com/npm/npm/issues/7995#issuecomment-175915766 aber es funktioniert nicht ...

Antwort

6

Nach der offiziellen Dokumentation Sie sollten in der Lage sein, associate a scope with a registry when logging in. Ist das was du willst?

Haben Sie Folgendes versucht?

npm login --registry=https://reg.example.com [email protected] 

Wenn Sie nicht, um sich einzuloggen wollen, sondern auf das Token explizit angeben wollen, sollten folgende Arbeiten:

npm config set @myco:registry https://reg.example.com 
npm config set '//reg.example.com/:_authToken' 'xxxxxxxx' 

Beachten Sie, dass die Registrierung URL normalisiert werden muss für diese zu arbeiten, dh es sollte kein Schema enthalten und muss mit einem Schrägstrich enden.

Verwandte Themen