Mettre à jour la version du nœud dans Visual Studio 2017

91

Quelqu'un connaît-il un moyen sanctionné de mettre à jour Node dans Visual Studio 2017? J'ai configuré Node 6 sur mon PC de développement, mais VS2017 semble être livré avec une copie groupée de Node 5, ce qui signifie que l'exécution npm installsur ma ligne de commande configure divers packages comme node-sassavec des liaisons pour Node 6, donc quand j'exécute ensuite gulp tâches de VS Task Runner les choses tombent en raison des versions incompatibles.

J'ai trouvé l'installation de VS Node sur C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalmais je suis un peu réticent à le pirater et à le remplacer. Quelqu'un a-t-il une expérience de la mise à niveau? Je sais que je peux synchroniser en rétrogradant la version sur mon PC, mais cela semble à l'envers.

Henry Wilson
la source
1
Le meilleur résultat Google pour la `` version du nœud de studio visuel '' semble pouvoir faire l'affaire: ryanhayes.net
Joe Clay
2
@JoeClay c'est pour VS2015, les choses ont changé dans VS2017. J'ai déjà essayé Google ...
Henry Wilson
3
Ah, je viens d'ouvrir VS, l'option a déménagé ...
Joe Clay
Ce github.com/aspnet/JavaScriptServices/issues/1686 est également lié, ce qui signifie que l'emplacement de nodejs doit être présent dans la variable Chemin du système.
Atiq Rahman le

Réponses:

159

Aller à:

Outils> Options> Projets et solutions> Gestion des packages Web> Outils Web externes

Ensuite, vous devez ajouter votre répertoire d'installation Node en haut de la liste, comme ceci:

capture d'écran

Joe Clay
la source
Je ne sais pas ce que cela fait, car il n'a rien mis à jour.
attiré
34
Comme alternative qui a fonctionné pour moi, augmentez simplement le $ (PATH), de sorte qu'il remplace le répertoire Web \ External (en supposant que le nœud est installé sur le chemin de votre environnement)
Clémence
Le mien a fonctionné en faisant ce que dit la réponse. Cependant, c'est la deuxième fois que ce problème se produit, la première fois qu'il est résolu à l'aide du commentaire de @ Leniency. :)
Imdad
1
"remplace" ou peut-être "précède"
N73k
@Leniency cela a fonctionné un régal pour moi - une extension de nœud (NPM Task Runner de Mads) utilisait une version différente (VS) du nœud et échouait - merci!
Michael Harper
52

Vous n'avez pas besoin d'ajouter un nouveau répertoire d'installation de Node, Node existe dans PATH. Notez comment $ (PATH) se trouve sous le chemin interne $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External .

Pour utiliser la variable d'environnement globale PATH avant le chemin interne, vous pouvez simplement utiliser les flèches en haut à droite pour changer l'ordre.

Voici à quoi cela ressemble lorsque le PATH global est recherché avant celui interne et obligera donc Visual Studio à utiliser vos propres versions des outils. entrez la description de l'image ici

Eduardo Yupanqui Quispe
la source
Je vous remercie. Cela a très bien fonctionné et je préfère cela à l'ajout du répertoire nodejs.
Tim Turner
Cela a fonctionné pour moi. Certains paquets ont fini par être avant '$ (PATH)', mais quand j'ai déplacé '$ (PATH)' sous '. \ Node_modules \ .bin' gulp a recommencé à fonctionner et j'ai récupéré mes icônes d'application Web :)
Phil
0

Pour moi, le problème s'est avéré être qu'il y avait un node.exefichier local dans le même répertoire que le csprojfichier, avec un node.exe.configfichier.

J'ai eu un événement post-build qui appellerait gulpà faire un autre travail et VS2017 utiliserait le node.exefichier local plutôt que ce qui était répertorié dans ma $(PATH)variable. Il s'agissait d'une version antérieure de node que je ne voulais pas utiliser, donc la solution pour moi était de supprimer le local node.exepour que celui répertorié dans $(PATH)soit utilisé ou de mettre à niveau le node.exefichier local si cela node.exe.configétait vraiment nécessaire.

Je voulais juste ajouter ceci ici au cas où quelqu'un d'autre rencontrerait le même problème.

Joseph
la source
0

Il semble que les options dans

Outils> Options> Projets et solutions> Gestion des packages Web> Outils Web externes

n'ont aucun effet. Cependant, il est possible de définir la version Node via

Projet> Propriétés

Projet> capture d'écran des propriétés

JMaFv
la source