Est-ce que quelqu'un connaît un moyen autorisé de mettre à jour Node dans Visual Studio 2017? J'ai Node 6 configuré sur mon PC de développement, mais VS2017 semble être fourni avec une copie fournie de Node 5, ce qui signifie que npm install
est exécuté sur ma ligne de commande. configure divers packages tels que node-sass
avec des liaisons pour Node 6; ainsi, lorsque j'exécute ensuite des tâches abrégées à partir du VS Task Runner, les choses basculent en raison de versions incompatibles.
J'ai trouvé le VS Node à installer à C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External
mais je suis un peu réticent à le modifier et à le remplacer. Quelqu'un at-il une expérience de mise à niveau? Je sais que je peux synchroniser en rétrogradant la version sur mon PC, mais cela semble être une régression.
Vous n'avez pas besoin d'ajouter un nouveau répertoire d'installation Node, Node existe dans PATH. Remarquez comment $ (PATH) se trouve sous le chemin interne $ (DevEnvDir)\Extensions\Microsoft\Outils Web\Externe.
Pour utiliser la variable d'environnement globale PATH avant le chemin interne, vous pouvez simplement utiliser les flèches situées en haut à droite pour modifier l'ordre.
Voici à quoi cela ressemble lorsque le PATH global est recherché avant le interne et donc obligera Visual Studio à utiliser vos propres versions des outils.
Pour moi, le problème s'est avéré qu'il y avait un fichier local node.exe
dans le même répertoire que le fichier csproj
, ainsi qu'un fichier node.exe.config
.
J'ai eu un événement post-build qui aurait appelé gulp
pour effectuer un autre travail et VS2017 aurait utilisé le fichier local node.exe
plutôt que celui répertorié dans ma variable $(PATH)
. Il s’agissait d’une version antérieure de node que je ne souhaitais pas utiliser. La solution pour moi était donc de supprimer le node.exe
local afin que celui répertorié dans $(PATH)
soit utilisé, ou de mettre à niveau le fichier node.exe
local si le node.exe.config
est vraiment nécessaire.
Je voulais juste ajouter ceci ici au cas où quelqu'un d'autre se heurterait au même problème.