Meine Firma verfügt über private Bereiche npm
Module, d. H. Diejenigen, die mit @mycompanyscope/mymodule
beginnen. Durch die Standardeinstellungen alle scoped Module in npm sind privat, so dass Sie zuerst, bevorSo installieren Sie ein npm-Scoped-Modul auf Microsoft Azure-Websites
npm login
Username:myusername
Password:**********
npm publish
Das scoped Modul veröffentlichen anmelden müssen die Eigenschaft haben, name
mit einem Umfang in der package.json
:
{
"name": "@mycompanyscope/mymodule"
}
und der private
Schlüssel muss entfernt werden.
Sobald Sie sich einloggen Sie eine token
in der .npmrc
Datei erhalten in Ihrem $HOME
Ordner, das ist wie
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
scope=mycompanyscope
An diesem Punkt alles richtig eingerichtet in dieser Maschine zu publish
und install
ist. Wenn Sie anderen Benutzern Zugriff gewähren, können sie npm login
auf ihren Computern ausführen und von dort aus ein Token abrufen.
Die Probleme kommen auf der Serverseite, abhängig von Ihrem Server. Auf Heroku sollte es funktionieren wie erklärt here.
Meine Serverumgebung ist Azure-Websites. Laut einigen Dokumenten sollten Sie Ihre .npmrc
-Datei während der Bereitstellungsphase zu Azure hochladen, und das wäre großartig, wenn ich eine Möglichkeit hätte, ein Token für diesen Rechner zu erhalten. Wenn ich versuche zu Kudu PowerShell
einzuloggen, die Tatsache ist, dass ich einfach nicht anmelden, hängt der Login-Prozess an einem gewissen Punkt:
Kudu Remote Execution Console
Type 'exit' then hit 'enter' to get a new powershell process.
Type 'cls' to clear the console
PS D:\home> npm login
Username: mycompany
Password: *********
Email: (this IS public) [email protected]
, so dass ich keine Token aus dieser Maschine erzeugen kann. Wie kann ich hier Zugriff gewähren, damit die npm install
für private Scoped-Module ordnungsgemäß ausgeführt wird?
[UPDATE] Dank der Antwort unten ich die npm scoped Modul einsetzen konnte (@ mycompanyscope/MyModule) zu Azure Web Site, die .npmrc
Datei im Stammordner des Projektes zu schaffen (wo die package.json
ist) und dann gibt das Token nach dem npm login
erhalten schreiben, und das Hinzufügen der registry
zum npmjs.org
Registrierung:
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
scope=mycompanyscope
@mycompanyscope:registry=https://registry.npmjs.org/
Danke für den Vorschlag. Die Lösung, die Sie erwähnen, benutzt 'myget', um die' npm private Registry' zu hosten, so dass Sie diese Ihrer '.npmrc' Datei hinzufügen können, wie' npm install --save --registry https://www.myget.org/ F/demo-site/npm/'aber ich benutze' npmjs.com' private Module, und ich finde kein Beispiel für das Hinzufügen einer Registrierung zu meinem '.npmrc'. – loretoparisi
Es ist dasselbe, wenn Sie den Befehl 'npm login' ausführen, ist die Standard-Registrierungs-URL' registry.npmjs.org'. Und entsprechend der Beschreibung unter https: //www.npmjs.com/settings/token, können Sie manuell das '.npmrc' erstellen und das Auth-Token auf dieser Seite festlegen, damit Ihre Azure Web Apps-Umgebung Ihre privaten Module herunterladen kann. –
Ich bestätige, dass dies die Lösung ist. Vielen Dank. Ich habe die Frage aktualisiert. – loretoparisi