Aggiorna la versione del nodo in Visual Studio 2017


91

Qualcuno conosce un modo approvato per aggiornare Node in Visual Studio 2017? Ho configurato il Nodo 6 sul mio PC di sviluppo ma VS2017 sembra avere una copia in bundle del Nodo 5, il che significa che l'esecuzione npm installsulla mia riga di comando configura vari pacchetti come i node-sasscollegamenti per il Nodo 6, quindi quando eseguo gulp attività da VS Task Runner le cose cadono a causa delle versioni non corrispondenti.

Ho trovato l'installazione di VS Node su C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalma sono un po 'riluttante a modificarlo e sostituirlo. Qualcuno ha esperienza nell'aggiornamento di questo? So di poter eseguire la sincronizzazione eseguendo il downgrade della versione sul mio PC, ma sembra al contrario.


1
Il miglior risultato di Google per "Visual Studio Node Version
Joe Clay,

2
@JoeClay che è per VS2015, le cose sono cambiate in VS2017. Ho già provato Google ...
Henry Wilson

3
Ah, ho appena aperto VS, l'opzione si è spostata ...
Joe Clay

Anche questo github.com/aspnet/JavaScriptServices/issues/1686 è correlato, il che significa che la posizione di nodejs deve essere presente nella variabile Path di sistema.
Atiq Rahman

Risposte:


159

Vai a:

Strumenti> Opzioni> Progetti e soluzioni> Gestione pacchetti Web> Strumenti Web esterni

Quindi è necessario aggiungere la directory di installazione di Node all'inizio dell'elenco, in questo modo:

immagine dello schermo


Non sono sicuro di cosa faccia, poiché non ha aggiornato nulla.
disegnato il

34
Come alternativa che ha funzionato per me, basta aumentare il $ (PATH) di uno, quindi sostituisce la directory Web \ External (supponendo che il nodo sia installato sul percorso dell'ambiente)
Leniency

Il mio ha funzionato facendo quello che dice la risposta. Tuttavia, questa è la seconda volta che si verifica questo problema, la prima volta che è stato risolto utilizzando il commento di @ Leniency. :)
Imdad

1
"sostituisce" o forse "precede"
N73k

@Leniency questo ha funzionato a meraviglia per me: un'estensione del nodo (NPM Task Runner di Mads) utilizzava una versione diversa (VS) del nodo e non funzionava - grazie!
Michael Harper

52

Non è necessario aggiungere una nuova directory di installazione di Node, Node esiste in PATH. Notare come $ (PATH) si trova sotto il percorso interno $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External .

Per usare la variabile d'ambiente PATH globale prima del percorso interno, puoi semplicemente usare le frecce in alto a destra per cambiare l'ordine.

Questo è ciò che appare quando il PERCORSO globale viene cercato prima di quello interno e quindi consentirà a Visual Studio di utilizzare le proprie versioni degli strumenti. inserisci qui la descrizione dell'immagine


Grazie. Funzionava benissimo e lo preferisco rispetto all'aggiunta della directory nodejs.
Tim Turner

Questo ha funzionato per me. Alcuni pacchetti sono finiti prima di '$ (PATH)', ma quando ho spostato '$ (PATH)' sotto '. \ Node_modules \ .bin' gulp ha iniziato a funzionare di nuovo e ho riavuto le icone della mia app web :)
Phil

0

Per me, il problema si è rivelato essere che c'era un node.exefile locale nella stessa directory in cui si csprojtrovava il file, insieme a un node.exe.configfile.

Ho avuto un evento post-build che chiamava gulpper fare qualche altro lavoro e VS2017 usava il node.exefile locale piuttosto che quello che era elencato nella mia $(PATH)variabile. Questa era una versione precedente del nodo che non volevo usare, quindi la soluzione per me era rimuovere il locale in node.exemodo $(PATH)da utilizzare quello elencato in o aggiornare il node.exefile locale se node.exe.configè davvero necessario.

Volevo solo aggiungerlo qui nel caso in cui qualcun altro si imbattesse nello stesso problema.


0

Sembra che le opzioni in

Strumenti> Opzioni> Progetti e soluzioni> Gestione pacchetti Web> Strumenti Web esterni

non hanno effetto. Tuttavia è possibile impostare la versione del nodo tramite

Progetto> Proprietà

Progetto> screenshot delle proprietà

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.