Aktualisieren Sie die Knotenversion in Visual Studio 2017

91

Kennt jemand eine genehmigte Möglichkeit, Node in Visual Studio 2017 zu aktualisieren? Ich habe Node 6 auf meinem Entwicklungs-PC eingerichtet, aber VS2017 scheint mit einer gebündelten Kopie von Node 5 geliefert zu werden. Dies bedeutet, dass beim Ausführen npm installin meiner Befehlszeile verschiedene Pakete eingerichtet werden, z. B. node-sassmit Bindungen für Node 6, also wenn ich dann gulp ausführe Aufgaben aus dem VS Task Runner fallen aufgrund der nicht übereinstimmenden Versionen um.

Ich fand die VS Node-Installation bei, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalaber ich zögere ein wenig, sie nur zu hacken und zu ersetzen. Hat jemand Erfahrung mit dem Upgrade? Ich weiß, dass ich durch Herunterstufen der Version auf meinem PC synchronisieren kann, aber das scheint rückwärts zu sein.

Henry Wilson
quelle
1
Das beste Google-Ergebnis für 'Visual Studio Node Version' scheint den Trick zu machen: ryanhayes.net/…
Joe Clay
2
@ JoeClay, das ist für VS2015, die Dinge haben sich in VS2017 geändert. Ich habe bereits versucht, Google ...
Henry Wilson
3
Ah, ich habe gerade VS geöffnet, die Option ist umgezogen ...
Joe Clay
Dieser github.com/aspnet/JavaScriptServices/issues/1686 ist ebenfalls verwandt, was bedeutet, dass der Speicherort des Knotens in der Pfadvariablen des Systems vorhanden sein muss.
Atiq Rahman

Antworten:

159

Gehe zu:

Extras> Optionen> Projekte und Lösungen> Webpaketverwaltung> Externe Web-Tools

Dann müssen Sie Ihr Node-Installationsverzeichnis wie folgt an den Anfang der Liste setzen:

Bildschirmfoto

Joe Clay
quelle
Ich bin mir nicht sicher, was dies bewirkt, da nichts aktualisiert wurde.
Drawid
34
Als Alternative, die für mich funktioniert hat, erhöhen Sie einfach das $ (PATH), damit es das Web \ External-Verzeichnis ersetzt (vorausgesetzt, der Knoten ist auf Ihrem Umgebungspfad installiert)
Leniency
Meins hat funktioniert, indem es getan hat, was in der Antwort steht. Dies ist jedoch das zweite Mal, dass dieses Problem auftritt, das erste Mal, dass es mithilfe des Kommentars von @ Leniency behoben wurde. :)
Imdad
1
"ersetzt" oder vielleicht "geht voraus"
N73k
@Leniency das war ein Vergnügen für mich - eine Knotenerweiterung (NPM Task Runner von Mads) verwendete eine andere (VS) Version des Knotens und schlug fehl - danke!
Michael Harper
52

Sie müssen kein neues Knoteninstallationsverzeichnis hinzufügen. Der Knoten ist in PATH vorhanden. Beachten Sie, dass sich $ (PATH) unter dem internen Pfad $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External befindet .

Um die globale Umgebungsvariable PATH vor dem internen Pfad zu verwenden, können Sie einfach die Pfeile oben rechts verwenden, um die Reihenfolge zu ändern.

So sieht es aus, wenn der globale Pfad vor dem internen durchsucht wird und Visual Studio daher Ihre eigenen Versionen der Tools verwendet. Geben Sie hier die Bildbeschreibung ein

Eduardo Yupanqui Quispe
quelle
Danke dir. Das hat super funktioniert und ich ziehe es dem Hinzufügen des Verzeichnisses nodejs vor.
Tim Turner
Das hat bei mir funktioniert. Einige Pakete standen vor '$ (PATH)', aber als ich '$ (PATH)' nach oben 'verschob. \ Node_modules \ .bin' gulp funktionierte wieder und ich bekam meine Web-App-Symbole zurück :)
Phil
0

Für mich stellte sich heraus, dass sich eine lokale node.exeDatei im selben Verzeichnis befand, in dem sich die csprojDatei befand, zusammen mit einer node.exe.configDatei.

Ich hatte ein Post-Build-Ereignis, das gulpaufrief, um andere Arbeiten auszuführen, und VS2017 verwendete die lokale node.exeDatei anstelle der in meiner $(PATH)Variablen aufgeführten. Dies war eine frühere Version des Knotens, die ich nicht verwenden wollte. Daher bestand die Lösung für mich darin, entweder den lokalen Knoten zu entfernen, node.exedamit der darin aufgeführte $(PATH)verwendet wird, oder die lokale node.exeDatei zu aktualisieren, wenn dernode.exe.config wirklich benötigt wird.

Ich wollte dies hier nur hinzufügen, falls jemand anderes auf dasselbe Problem stößt.

Joseph
quelle
0

Es sieht so aus, als ob Optionen in

Extras> Optionen> Projekte und Lösungen> Webpaketverwaltung> Externe Web-Tools

haben keine Wirkung. Es ist jedoch möglich, die Knotenversion durchzusetzen

Projekt> Eigenschaften

Screenshot Projekt> Eigenschaften

JMaFv
quelle