npm install, npm ERR code 401 Falsches oder fehlendes Passwort Fehlerursache und Verwendung der .npmrc-Konfigurationsdatei

Vorwort: Wenn das Front-End das Projekt verwaltet, ist es nach git clone oft direkt npm install, um die vom Projekt benötigten node_modules zu installieren, aber oft werden viele Projekte nicht von uns selbst geschrieben oder von GitHub geklont Probleme treten zu diesem Zeitpunkt auf. Es ist schwierig, damit umzugehen. Teilen Sie den Fehlerbehebungsplan mit, damit Sie wissen, was passiert und warum!

 

 1. Die .npmrc-Datei

  Lassen Sie uns zuerst über die Konfigurationsdatei von npmrc sprechen, damit wir das folgende Problem beheben können!

 

  1. Die Rolle von npmrc

   .npmrc kann als npm running configuration verstanden werden, die Konfigurationsdatei für die npm-Laufzeit. Wir wissen, dass die größte Rolle von npm darin besteht, Entwicklern bei der Installation der erforderlichen Abhängigkeitspakete zu helfen, aber wo laden wir sie herunter? Welche Version des Pakets soll heruntergeladen werden und in welchen Pfad soll das Paket heruntergeladen werden? Wird der Pfad des privaten Pakets oder der Pfad des öffentlichen Pakets heruntergeladen?Ich habe ein privates Paket, wie konfiguriere ich den Pfad?

 

Alle oben genannten Elemente können in .npmrc konfiguriert werden

Bevor wir .npmrc einrichten, müssen wir wissen: Auf Ihrem Computer gibt es nicht nur eine .npmrc-Datei, sondern mehrere.

Wenn wir das npm-Paket installieren, liest npm diese Konfigurationsdateien in der folgenden Reihenfolge:

  1. Projektkonfigurationsdatei : Dies ist die im obigen Screenshot gezeigte .npmrc-Datei, die nur zum Verwalten der npm-Installation des aktuellen Projekts verwendet wird;
  2. Benutzerkonfigurationsdatei : Wenn wir uns mit einem Konto am Computer anmelden, können wir eine .npmrc-Datei für den aktuellen Benutzer erstellen und uns dann mit diesem Konto anmelden, dann können wir diese Konfigurationsdatei verwenden, um die herunterzuladende und zu verwendende Quelle anzugeben diese Konfigurationsdatei. Der Speicherort der Datei kann über npm config get userconfig abgerufen werden;
  3. Globale Konfigurationsdatei : Ein Computer kann mehrere Benutzer haben. Zusätzlich zu diesen Benutzern kann eine gemeinsame .npmrc-Datei für alle Benutzer festgelegt werden. Der Pfad dieser Datei lautet: $PREFIX/etc/npmrc , verwenden Sie  npm config get prefix  , um $PREFIX zu erhalten. Wenn Sie noch nie eine globale Datei konfiguriert haben, existiert diese Datei nicht.
  4. Eingebaute Npm-Konfigurationsdatei : Die eingebaute Konfigurationsdatei von npm wird im Grunde nicht von Einzelpersonen verwendet, sodass Sie nicht zu viel Aufmerksamkeit schenken müssen; 

  2. Richten Sie die Projektkonfigurationsdatei ein

    Erstellen Sie eine neue .npmrc-Datei im Stammverzeichnis des Projekts und   konfigurieren Sie sie im Format key=value . Wenn Sie beispielsweise die Quelle von npm als Taobao-Quelle konfigurieren möchten, können Sie auf den Code verweisen:

registry=https://registry.npm.taobao.org

 

  3. Richten Sie Benutzerprofile ein

     Sie können den Pfad der Datei direkt über  den Befehl npm config get userconfig finden  und dann der obigen Methode direkt zur Datei folgen, oder Sie können  ihn weiterhin über den Befehl npm config set  festlegen , der Befehl lautet wie folgt:

config set registry https://registry.npm.taobao.org

     Wenn Sie einige Konfigurationen löschen möchten, können Sie die .npmrc-Datei direkt bearbeiten oder Befehle zum Löschen verwenden, wie z. B.:

npm config delete registry

 

  4. Legen Sie die globale Konfigurationsdatei fest

Die Methode ist genau die gleiche wie beim Festlegen der Benutzerkonfigurationsdatei, außer dass der Parameter -g  hinzugefügt werden muss, wenn die Befehlszeile verwendet wird   .

npm config set registry https://registry.npm.taobao.org -g

 Das Obige stellt etwas gesunden Menschenverstand über .npmrc dar. Im Entwicklungsprozess wird diese Datei selten konfiguriert, aber ich werde als Nächstes über eine sprechen! Wenn wir jedoch Fehler bei der Installation von Abhängigkeiten machen, können wir eine weitere Idee haben, um nicht verwirrt zu werden!


 

2. npm ERR Code 401, Fehleranalyse

  1. Die Installation ist ein privates Paket, und npm muss angemeldet sein, bevor es installiert werden kann

npm ERR! code E401
npm ERR! Incorrect or missing password.
npm ERR! If you were trying to login, change your password, create an
npm ERR! authentication token or enable two-factor authentication then
npm ERR! that means you likely typed your password in incorrectly.
npm ERR! Please try again, or recover your password at:
npm ERR!     https://www.npmjs.com/forgot
npm ERR! 
npm ERR! If you were doing some other operation then your saved credentials are   
npm ERR! probably out of date. To correct this please try logging in again with:  
npm ERR!     npm login

npm ERR! A complete log of this run can be found in:
npm ERR!     D:\other\nodejs\node_cache\_logs\2022-10-15T13_22_01_878Z-debug-0.log

 Sie können das Bild oben sehen, in meinem Projekt befindet sich eine .npmrc-Projektkonfigurationsdatei. Wenn ich also npm install ausführe, liest es den Download-Speicherort, den ich derzeit standardmäßig festlege, da mein Projekt private node_modules herunterladen muss, also konfigurieren Sie dies Weg;

Fehlergrund: Privates Paket erfordert Benutzerberechtigung

Lösung: npm-Login ist in Ordnung, melden Sie sich beim autorisierten npm-Konto an

 

2. npm ERR! Authentifizierung nicht möglich, Grundbereich ="aliyun" erforderlich

 Allerdings unterscheidet sich die Fehlermeldung zu diesem Zeitpunkt von der obigen, achten Sie auf realm = "aliyun (Aliyun)"

npm ERR! code E401
npm ERR! Unable to authenticate, need Basic realm ="aliyun"

   

 Wenn Sie ein privates Paket herunterladen, müssen Sie zunächst prüfen, ob Sie angemeldet sind

  ① Überprüfen Sie, ob das Login-Konto berechtigt ist, private Pakete herunterzuladen. Im Allgemeinen stellen private Pakete npm-Konten und Passwörter bereit;

  ② Anstatt ein privates Paket herunterzuladen und einen Fehler zu melden, wechseln Sie die Adresse des Projektregisters zum offiziellen Konto von npm.js.org

npm install --registry https://registry.npmjs.org

3. Wenn Sie Ihr eigenes npm-Paket auf npm veröffentlichen möchten, führen Sie npm login aus und melden Sie einen Fehler   

PS D:\Workspace\WebstormProjects\lhqm-ngzorro>  npm login
Username: qianmian
Password:
Email: (this IS public) [email protected]
npm ERR! code E401
npm ERR! Incorrect or missing password.
npm ERR! If you were trying to login, change your password, create an
npm ERR! authentication token or enable two-factor authentication then
npm ERR! that means you likely typed your password in incorrectly.
npm ERR! Please try again, or recover your password at:
npm ERR!     https://www.npmjs.com/forgot
npm ERR!
npm ERR! If you were doing some other operation then your saved credentials are
npm ERR! probably out of date. To correct this please try logging in again with:
npm ERR!     npm login

npm ERR! A complete log of this run can be found in:
npm ERR!     F:\Program_Files\QianDuan\nodejs\node_cache\_logs\2021-04-04T14_44_24_023Z-debug.log

Grund für den Fehler: Sie müssen den aktuellen npm-Downloadpfad überprüfen, wie oben erwähnt; der Taobao-Mirror unterstützt nur das Herunterladen, nicht das Hochladen und Veröffentlichen;

Lösung: Richten Sie das konfigurierte Register erneut auf den npm-Beamten;

npm config set registry https://registry.npmjs.org/

  4. npm ERR! Code ETARGET

  notarget Keine übereinstimmende Version gefunden für uxcore@^1.0.23 Aus diesem Satz können wir ungefähr entnehmen, dass die Version 1.0.23 des uxcore-Pakets nicht in der aktuellen Download-Quelle der npm-Konfigurationsdatei gefunden wird;

  Warum passiert das?

  Wir müssen zuerst bestätigen, ob das Paket öffentlich oder privatisiert ist . Es besteht eine hohe Wahrscheinlichkeit, dass es sich um ein privatisiertes Paket handelt. Wenn wir MultipleRepo-Projektmanagement betreiben, verwenden wir oft privatisierte npm-Pakete, um Abhängigkeiten zwischen Projekten zu verwalten!

  Um die oben genannten Gründe zu ermitteln, können wir die entsprechende npm-Registery in der Projektkonfigurationsdatei -> .npmrc festlegen und npm install erneut ausführen

PS E:\uxretail-ui> npm install
npm ERR! code ETARGET
npm ERR! notarget No matching version found for uxcore@^1.0.23.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! A complete log of this run can be found in:
npm ERR!     D:\other\nodejs\node_cache\_logs\2022-10-15T14_40_12_462Z-debug-0.log

Supongo que te gusta

Origin blog.csdn.net/weixin_56650035/article/details/127341087
Recomendado
Clasificación