Verwalten von NPM-Paketen in Visual Studio

Mit npm können Sie Pakete zur Verwendung in Ihren Node.js- und ASP.NET Core-Anwendungen installieren und verwalten. Visual Studio erleichtert die Interaktion mit NPM sowie die Ausführung von NPM-Befehlen über die Benutzeroberfläche oder direkt. Wenn Sie mit NPM nicht vertraut sind und weitere Informationen benötigen, wechseln Sie zur NPM-Dokumentation.

Die Visual Studio-Integration mit npm variiert je nach Projekttyp.

Wichtig

Von npm wird erwartet, dass der Ordner node_modules und package.json im Projektstamm vorhanden sind. Wenn sich die Ordnerstruktur Ihrer App unterscheidet, sollten Sie Ihre Ordnerstruktur anpassen, wenn Sie npm-Pakete mit Visual Studio verwalten.

CLI-basiertes Projekt (ESPROJ)

Ab Visual Studio 2022 ist der npm-Paket-Manager für CLI-basierte Projekte verfügbar, sodass Sie npm-Module jetzt auf dieselbe Weise wie NuGet-Pakete für ASP.NET Core-Projekte herunterladen können. Anschließend können Sie package.json verwenden, um Pakete zu ändern und zu löschen.

Um den Paket-Manager zu öffnen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten npm in Ihrem Projekt.

Open package manager from Solution Explorer

Als Nächstes können Sie nach npm-Paketen suchen, eines auswählen und installieren, indem Sie Paket installieren auswählen.

Install new npm package for esproj

Node.js-Projekte

Bei Node.js-Projekten (.njsproj) können Sie folgende Aufgaben ausführen:

Diese Features arbeiten zusammen und werden mit dem Projektsystem und der Datei package.json im Projekt synchronisiert.

Voraussetzungen

Sie benötigen die Workload Node.js-Entwicklung und die Node.js-Runtime, um npm-Unterstützung für Ihr Projekt hinzuzufügen. Die einzelnen Schritte werden unter Erstellen einer Node.js- und Express-App beschrieben.

Hinweis

Verwenden Sie für vorhandene Node.js-Projekte die Projektmappenvorlage Aus vorhandenem Node.js-Code oder den Projekttyp Ordner öffnen (Node.js), um npm in Ihrem Projekt zu aktivieren.

Installieren von Paketen über den Projektmappen-Explorer (Node.js)

Die npm-Pakete lassen sich bei Node.js-Projekten am einfachsten über das npm-Paketinstallationsfenster installieren. Um dieses Fenster aufzurufen, klicken Sie im Projekt mit der rechten Maustaste auf den Knoten NPM. Wählen Sie anschließend die Option Neue NPM-Pakete installieren aus.

Install new npm package for Node.js

In diesem Fenster können Sie nach einem Paket suchen sowie Optionen angeben und installieren.

Screenshot of the Install New npm Packages dialog.

  • Abhängigkeitstyp: Wählen Sie zwischen den Paketen Standard, Entwicklung und Optional. „Standard“ gibt an, dass es sich bei dem Pakte um eine Laufzeitabhängigkeit handelt, während „Entwicklung“ angibt, dass das Paket nur während der Entwicklung benötigt wird.
  • Zu "package.json" hinzufügen: Empfohlen. Diese konfigurierbare Option ist veraltet.
  • Ausgewählte Version: Wählen Sie die Version des Pakets aus, die Sie installieren möchten.
  • Weitere NPM-Argumente: Geben Sie weitere NPM-Standardargumente an. Sie können beispielsweise einen Versionswert wie @~0.8 eingeben, um eine bestimmte Version zu installieren, die in der Versionsliste nicht verfügbar ist.

Sie können den Fortschritt der Installation in der npm-Ausgabe im Ausgabefenster anzeigen (um das Fenster zu öffnen, wählen Sie Anzeigen>Ausgabe aus oder drücken Sie Strg + Alt + O). Dies kann eine Weile dauern.

npm output

Tipp

Sie können nach bereichsbezogenen Paketen suchen, indem Sie die Suchabfrage mit dem für Sie interessanten Bereich voranstellen. Geben Sie beispielsweise @types/mocha ein, um nach TypeScript-Definitionsdateien für Mocha zu suchen. Wenn Sie Typdefinitionen für TypeScript installieren, können Sie die TypeScript-Version angeben, die Sie als Ziel verwenden. Geben Sie die Version – z. B. @ts2.6 – im npm-Argumentfeld hinzu.

Verwalten von installierten Paketen über den Projektmappen-Explorer (Node.js)

NPM-Pakete werden im Projektmappen-Explorer angezeigt. Die Einträge unter dem Knoten NPM stellt die Abhängigkeiten in der Datei package.json dar.

Screenshot of the npm node in Solution Explorer showing the installation status of the npm packages.

Paketstatus

  • Installed package: In „package.json“ installiert und aufgeführt
  • Extraneous package: Installiert, aber in „package.json“ nicht explizit aufgeführt
  • Missing package: Nicht installiert, aber in „package.json“ aufgeführt

Klicken Sie mit der rechten Maustaste auf den Konten npm, um eine der folgenden Aktionen durchzuführen:

  • Neue NPM-Pakete installieren: Öffnet die Benutzeroberfläche für die Installation neuer Pakete.
  • NPM-Pakete installieren: Führt den npm-Installationsbefehl aus, um alle in package.json aufgeführten Pakete zu installieren. (Führt npm install aus.)
  • NPM-Pakete aktualisieren: Hiermit werden Pakete in Übereinstimmung mit dem in package.json angegebenen Bereich der semantischen Versionierung (SemVer) auf die aktuelle Version aktualisiert. (Führt npm update --save aus.). SemVer-Bereiche werden in der Regel mit „~“ oder „^“ angegeben. Weitere Informationen finden Sie unter package.json-Konfiguration.

Klicken Sie mit der rechten Maustaste auf einen Paketknoten, um eine der folgenden Aktionen durchzuführen:

  • NPM-Pakete installieren: Führt den npm-Installationsbefehl aus, um die in package.json aufgeführten Paketversionen zu installieren. (Führt npm install aus.)
  • NPM-Pakete aktualisieren: Hiermit wird das Paket in Übereinstimmung mit dem in package.json angegebenen SemVer-Bereich auf die aktuelle Version aktualisiert. (Führt npm update --save aus.) SemVer-Bereiche werden in der Regel mit „~“ oder „^“ angegeben.
  • NPM-Pakete deinstallieren: Deinstalliert die Pakete und entfernt sie aus package.json (Führt npm uninstall --save aus.)

Hinweis

Hilfe bei Problemen mit npm-Paketen finden Sie unter Troubleshooting.

Verwenden des Befehls „.npm“ im interaktiven Node.js-Fenster (Node.js)

Zum Ausführen von NPM-Befehlen können Sie auch den Befehl .npm im interaktiven Node.js-Fenster verwenden. Klicken Sie zum Öffnen des Fensters mit der rechten Maustaste im Projektmappen-Explorer auf das Projekt und wählen Sie Interaktives Node.js-Fenster öffnen aus (oder drücken Sie Strg + K, N).

In diesem Fenster können Sie Befehle wie die folgenden zum Installieren eines Pakets verwenden:

.npm install azure@4.2.3

Tipp

NPM wird standardmäßig im Basisverzeichnis Ihres Projekts ausgeführt. Wenn sich in Ihrer Projektmappe mehrere Projekte befinden, geben Sie den Namen oder den Pfad des Projekts in Klammern an. .npm [MyProjectNameOrPath] install azure@4.2.3

Tipp

Wenn in Ihrem Projekt die Datei „package.json“ nicht enthalten ist, verwenden Sie .npm init -y, um eine neue „package.json“-Datei mit Standardeinträgen zu erstellen.

ASP.NET Core-Projekte

Für Projekte wie ASP.NET Core-Projekte können Sie npm-Unterstützung in Ihr Projekt aufnehmen und npm zur Installation von Paketen verwenden.

Hinweis

Für ASP.NET Core-Projekte können Sie auf den Bibliotheks-Manager oder YARN anstelle von npm verwenden, um clientseitige JavaScript- und CSS-Dateien zu installieren. Eine dieser Optionen kann erforderlich sein, wenn Sie eine Integration mit MSBuild oder der dotnet CLI für die Paketverwaltung benötigen, die von npm nicht bereitgestellt wird.

Wenn Ihr Projekt noch keine package.json-Datei enthält, können Sie diese zu Ihrem Projekt hinzufügen, um die npm-Unterstützung zu aktivieren. Fügen Sie dazu eine package.json-Datei zum Projekt hinzu.

  1. Klicken Sie zum Hinzufügen der Datei package.json mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie Hinzufügen>Neues Element (oder drücken Sie auf Strg + UMSCHALT + A). Verwenden Sie das Suchfeld zur Suche nach der npm-Datei, wählen Sie die npm-Konfigurationsdatei aus, bestätigen Sie den Standardnamen, und klicken Sie auf Hinzufügen.

  2. Fügen Sie mindestens ein npm-Paket in den dependencies- oder devDependencies-Abschnitt von package.json ein. Beispielsweise können Sie Folgendes zur Datei hinzufügen:

    "devDependencies": {
       "gulp": "4.0.2",
       "@types/jquery": "3.5.29"
    }
    

    Wenn Sie die Datei speichern, fügt Visual Studio das Paket unter dem Knoten Dependencies/npm (Abhängigkeiten/npm) im Projektmappen-Explorer hinzu. Wenn der Knoten nicht angezeigt wird, klicken Sie mit der rechten Maustaste auf die Datei package.json, und wählen Sie dann Pakete wiederherstellen aus. Um den Installationsstatus des Pakets anzuzeigen, wählen Sie die npm-Ausgabe im Ausgabefenster aus.

    Sie können npm-Pakete mithilfe von package.json konfigurieren. Öffnen Sie package.json entweder direkt, oder klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den npm-Knoten, und wählen Sie dann package.json öffnen aus.

Problembehandlung bei npm-Paketen

  • Wenn beim Erstellen Ihrer App oder beim Transpilieren von TypeScript-Code Fehler auftreten, könnten Inkompatibilitäten bei npm-Paketen eine mögliche Ursache sein. Um mögliche Fehler zu ermitteln, sollten Sie bei der Installation der Pakete das npm-Ausgabefenster überprüfen (wie zuvor in diesem Artikel beschrieben). Wenn z. B. eine oder mehrere npm-Paketversionen als veraltet markiert wurden und dadurch einen Fehler verursachen, müssen Sie möglicherweise zum Beheben der Fehler eine neuere Version installieren. Informationen zur Verwendung von package.json zum Steuern von npm-Paketversionen finden Sie unter package.json-Konfiguration.

  • In einigen ASP.NET Core-Szenarien zeigt der Projektmappen-Explorer aufgrund eines bekannten Problems, das hier beschrieben wird, möglicherweise nicht den korrekten Status für installierte npm-Pakete an. Beispielsweise wird das Paket möglicherweise als nicht installiert angezeigt, obwohl es installiert ist. In den meisten Fällen können Sie den Projektmappen-Explorer aktualisieren, indem Sie die Datei package.json löschen, Visual Studio neu starten und die Datei package.json wie zuvor im Artikel beschrieben wieder hinzufügen. Bei der Installation von Paketen können Sie den Installationsstatus alternativ im npm-Ausgabefenster überprüfen.

  • In einigen ASP.NET Core-Szenarios ist der npm-Knoten im Projektmappen-Explorer möglicherweise nicht sichtbar, nachdem das Projekt erstellt wurde. Um den Knoten erneut sichtbar zu machen, klicken Sie mit der rechten Maustaste auf den Projektknoten, und wählen Sie Projekt entladen aus. Klicken Sie dann mit der rechten Maustaste auf den Projektknoten, und wählen Sie Projekt erneut laden aus.

  • Für npm-Unterstützung muss bei Node.js-Projekten die Workload Node.js-Entwicklung installiert sein. Node.js ist für npm erforderlich. Sofern Node.js noch nicht installiert ist, sollten Sie die LTS-Version von der Node.js-Website installieren, um optimale Kompatibilität mit externen Frameworks und Bibliotheken zu gewährleisten.