Wie kann ich die Wiederherstellung von NPM-Paketen in Visual Studio 2015 deaktivieren?

82

Wenn ich ein Projekt mit einer package.json in Visual Studio 2015 öffne, wird automatisch eine npm-Installation gestartet, und VS reagiert nicht, bis die Installation abgeschlossen ist.

Ich würde es vorziehen, npm install selbst über die Befehlszeile zu installieren. Wie kann ich Visual Studio daran hindern?

Geir Sagberg
quelle

Antworten:

76

Wenn Sie ein Upgrade auf Visual Studio 2017 durchführen (die kostenlose Community Edition ist in Ordnung), hat das VS-Team eine Option hinzugefügt, mit der die Ausführung von npm beim Öffnen eines Projekts gestoppt werden kann. Es befindet sich unter Tools / Optionen / Projekte und Lösungen / Webpaketverwaltung / Paketwiederherstellung. Sie können NPM- (und Bower-) Wiederherstellungen bei Project Open und bei package.json deaktivieren. Speichern Sie separat.

Beachten Sie auch, dass für die Projekttypen node.js (NTVS) derzeit nur das automatische Verhalten der Paketwiederherstellung in VS2017 vollständig deaktiviert ist.

Bearbeiten: Die obige Antwort gilt auch für Visual Studio 2019. Die Menüoptionen befinden sich an derselben Stelle, obwohl die Bower-Unterstützung veraltet ist.

Rich N.
quelle
Gibt es eine dauerhafte Lösung? Ich habe dies angewendet, dann VS2019 aktualisiert und Boom, NPM wieder aktiviert
amartin1911
78

Versuche dies:

  • Öffnen Sie Extras -> Optionen
  • Wählen Sie Projekte und Lösungen / Externe Web-Tools
  • Deaktivieren Sie alle vier Pfade
  • OK klicken

Es scheint nicht notwendig zu sein, die Lösung usw. zu schließen. Die NPM- und Bower-Funktionen sind jetzt in VS deaktiviert, funktionieren jedoch in der Befehlszeile einwandfrei (vorausgesetzt, Sie haben npm, bower usw. global installiert). Möglicherweise werden im Ausgabefenster einige Fehlermeldungen angezeigt, jedoch keine Erstellungsfehler oder Warnungen.

Um den normalen Betrieb wiederherzustellen, kehren Sie zu den externen Web-Tools zurück und klicken Sie unten rechts auf "Auf Standardeinstellungen zurücksetzen".
Ich habe dies mit Publish nicht versucht. Möglicherweise müssen Sie die Standardeinstellungen wiederherstellen, um erfolgreich zu veröffentlichen. Versuchen Sie es, wenn zu diesem Zeitpunkt Fehler auftreten.

Van Kichline
quelle
1
Ich bekomme zwar einige Fehler in der Ausgabe, z. B. findet der Task Runner Explorer Gulp usw. nicht, aber ich denke, dies wird erwartet. Dies macht sicherlich den Trick, danke :)
Geir Sagberg
28
Es ist ziemlich lächerlich, dass Sie diese Option nicht deaktivieren können. :(
Sean Anderson
4
+1 VS ist ohne Git- und Npm-Integration langsam genug. Verwenden Sie VS Code / Sublime / Webstorm besser für JS-bezogene Projekte.
Cchamberlain
1
Verwenden der VS Community 2017 15.5.6. Dies funktioniert tatsächlich, aber ich musste Visual Studio neu starten, damit die Wiederherstellung von npm-Paketen gestoppt wird.
Rsenna
Gibt es eine dauerhafte Lösung? Ich habe dies angewendet, dann VS2019 aktualisiert und Boom, NPM wieder aktiviert
amartin1911
4

Visual Studio 2015 Update 2 hat dieses Problem behoben! Installieren Sie Update 2 und Sie sollten bereit sein.

Direkter Download: http://go.microsoft.com/fwlink/?LinkId=691129
Update 2 Versionshinweise: https://www.visualstudio.com/news/releasenotes/vs2015-update2-vs

Bearbeiten : " behoben " ist möglicherweise nicht ganz korrekt und möglicherweise nicht für alle Benutzer vollständig behoben . Vielleicht können wir festhalten, was jeder erlebt. Zur Verdeutlichung habe ich folgende Erfahrungen gemacht:

  • Vor Update 2 führte VS jedes Mal , wenn ich die .sln öffnete, 'npm install' aus , was sehr schwer zu bewältigen war.
  • Nach Update 2 führt VS in bestimmten Szenarien 'npm install' aus, was (meiner Erfahrung nach) tolerierbar ist.

Nach meiner Erfahrung führt VS nach dem Patch beim Öffnen der .sln-Datei 'npm install' aus, wenn eine der Abhängigkeiten in package.json im Ordner node_modules fehlt (oder wenn der Ordner selbst fehlt).

Sie können die 'npm-Installation' nicht deaktivieren, daher ist 'behoben' möglicherweise nicht ganz korrekt - es funktioniert jedoch nicht bei jedem Start wie zuvor, daher halte ich es für einen Gewinn. Können Leute bestätigen, dass dies das Verhalten ist, oder erleben wir unterschiedliche Verhaltensweisen?

Ashlin Allen
quelle
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Aus der Bewertung
Alessandro Cuttin
1
Der Link enthält keine Antwort, sondern nur zum Herunterladen des Softwareupdates. Ich habe den Link geändert, um anstelle der Update-Hinweise direkt auf den Download zu verlinken. Ist das akzeptabel?
Ashlin Allen
2
Ich würde es nicht als repariert bezeichnen, sie haben die Wahrscheinlichkeit verringert, dass der Bildschirm gesperrt oder abgestürzt wird, aber wenn Sie manuell mit npm umgehen, kommt es zu Kämpfen mit der vs-automatischen Wiederherstellung, und es gibt immer noch keine Option, ihn afaik zu deaktivieren .
Npjohns
Ich habe Visual Studio 2015 Update 2 und es versucht immer noch, npm install und gulp auszuführen. Ich bin nicht sicher, ob dies das Problem behebt.
Jamie McCrindle
Ich habe meine Antwort bearbeitet. Wird in dem von mir erwähnten Szenario auch "npm install" ausgeführt, oder wird sie zu anderen Zeiten ausgeführt? Was Gulp betrifft, werde ich versuchen, mich damit zu beschäftigen ... mein aktuelles Setup verwendet Webpack und VS führt Webpack nur aus, wenn ich den Task Runner Explorer dafür konfiguriert habe. VS führt Gulp aus, auch ohne dass TRE dafür konfiguriert ist?
Ashlin Allen