Zaktualizuj wersję węzła w programie Visual Studio 2017

91

Czy ktoś zna usankcjonowany sposób aktualizowania węzła w programie Visual Studio 2017? Mam skonfigurowany Node 6 na moim komputerze deweloperskim, ale VS2017 wydaje się być dostarczany z dołączoną kopią Node 5, co oznacza, że ​​uruchomienie npm installw moim wierszu poleceń konfiguruje różne pakiety, takie jak node-sasswiązania dla Node 6, więc kiedy uruchamiam gulp zadania z VS Task Runner wypadają z powodu niezgodnych wersji.

Znalazłem instalację VS Node pod adresem, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalale jestem trochę niechętny, aby po prostu włamać się i wymienić. Czy ktoś ma jakieś doświadczenie w ulepszaniu tego? Wiem, że mogę zsynchronizować, obniżając wersję na moim komputerze, ale wydaje się to wstecz.

Henry Wilson
źródło
1
Najlepszy wynik Google dla „wersji węzła Visual Studio” wydaje się, że może to załatwić: ryanhayes.net/…
Joe Clay
2
@JoeClay to dla VS2015, rzeczy uległy zmianie w VS2017. Próbowałem już Google ...
Henry Wilson
3
Ach, właśnie otworzyłem VS, opcja się przesunęła ...
Joe Clay
Ten github.com/aspnet/JavaScriptServices/issues/1686 jest również powiązany, co oznacza, że ​​lokalizacja nodejs musi być obecna w zmiennej Path systemu.
Atiq Rahman

Odpowiedzi:

159

Iść do:

Narzędzia> Opcje> Projekty i rozwiązania> Zarządzanie pakietami sieci Web> Zewnętrzne narzędzia internetowe

Następnie musisz dodać katalog instalacyjny Node na górę listy, na przykład:

zrzut ekranu

Joe Clay
źródło
Nie jestem pewien, co to robi, ponieważ nic nie zaktualizowało.
drewid
34
Jako alternatywa, która zadziałała dla mnie, po prostu podbij $ (PATH) w górę, aby zastąpił katalog Web \ External (zakładając, że węzeł jest zainstalowany na twojej ścieżce środowiska)
Leniency
Mój działał, robiąc to, co stwierdza odpowiedź. Jest to jednak drugi przypadek wystąpienia tego problemu, po raz pierwszy został on rozwiązany za pomocą komentarza @ Leniency. :)
Imdad
1
„supercedes” lub może „poprzedza”
N73k,
@Leniency zadziałało dla mnie nie lada gratką - rozszerzenie węzła (NPM Task Runner autorstwa Madsa) używało innej (VS) wersji węzła i zawodziło - dzięki!
Michael Harper,
52

Nie musisz dodawać nowego katalogu instalacyjnego węzła, węzeł istnieje w PATH. Zwróć uwagę, że $ (PATH) znajduje się poniżej wewnętrznej ścieżki $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External .

Aby użyć globalnej zmiennej środowiskowej PATH przed ścieżką wewnętrzną, możesz po prostu użyć strzałek w prawym górnym rogu, aby zmienić kolejność.

Tak to wygląda, gdy globalna PATH jest przeszukiwana przed wewnętrzną i dlatego program Visual Studio użyje własnych wersji narzędzi. wprowadź opis obrazu tutaj

Eduardo Yupanqui Quispe
źródło
Dziękuję Ci. To działało świetnie i wolę to od dodawania katalogu nodejs.
Tim Turner,
To zadziałało dla mnie. Jakiś pakiet znalazł się przed '$ (PATH)', ale kiedy przeniosłem '$ (PATH)' pod spodem '. \ Node_modules \ .bin' znowu zaczął działać i odzyskałem ikony aplikacji internetowej :)
Phil
0

U mnie problem polegał node.exena tym, że w tym samym katalogu, w którym csprojznajdował się plik, znajdował się plik lokalny , wraz z node.exe.configplikiem.

Miałem zdarzenie po kompilacji, które zadzwoniłoby gulpdo wykonania innej pracy, a VS2017 użyłby node.exepliku lokalnego , a nie tego, co było wymienione w mojej $(PATH)zmiennej. To była wcześniejsza wersja węzła, której nie chciałem używać, więc rozwiązaniem dla mnie było usunięcie lokalnego, node.exeaby $(PATH)można było użyć tego wymienionego w , lub zaktualizowanie lokalnego node.exepliku, jeśli node.exe.configjest naprawdę potrzebny.

Chciałem tylko to dodać na wypadek, gdyby ktoś inny napotkał ten sam problem.

Józefa
źródło
0

Wygląda na to, że opcje w

Narzędzia> Opcje> Projekty i rozwiązania> Zarządzanie pakietami sieci Web> Zewnętrzne narzędzia internetowe

nie mają żadnego efektu. Możliwe jest jednak ustawienie wersji węzła za pośrednictwem

Projekt> Właściwości

Projekt> zrzut ekranu właściwości

JMaFv
źródło