Actualización de la versión del nodo en Visual Studio 2017


91

¿Alguien sabe de una forma autorizada de actualizar Node dentro de Visual Studio 2017? Tengo el Nodo 6 configurado en mi PC de desarrollo, pero VS2017 parece venir con una copia empaquetada del Nodo 5, lo que significa que al ejecutar npm installmi línea de comandos se configuran varios paquetes como node-sasscon enlaces para el Nodo 6, así que cuando ejecuto gulp las tareas de VS Task Runner se caen debido a las versiones que no coinciden.

Encontré la instalación del nodo VS en, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalpero soy un poco reacio a cambiar y reemplazarlo. ¿Alguien tiene experiencia en actualizar esto? Sé que puedo sincronizar al degradar la versión en mi PC, pero eso parece al revés.


1
El mejor resultado de Google para la 'versión de nodo de estudio visual' parece que podría funcionar: ryanhayes.net/…
Joe Clay

2
@JoeClay eso es para VS2015, las cosas han cambiado en VS2017. Ya probé Google ...
Henry Wilson

3
Ah, acabo de abrir VS, la opción se ha movido ...
Joe Clay

Este github.com/aspnet/JavaScriptServices/issues/1686 también está relacionado, lo que significa que la ubicación de nodejs debe estar presente en la variable Path del sistema.
Atiq Rahman

Respuestas:


159

Ir:

Herramientas> Opciones> Proyectos y soluciones> Administración de paquetes web> Herramientas web externas

Luego, debe agregar su directorio de instalación de Node en la parte superior de la lista, así:

captura de pantalla


No estoy seguro de qué hace esto, ya que no ha actualizado nada.
drewid

34
Como alternativa que funcionó para mí, simplemente suba el $ (PATH) uno, para que sustituya al directorio Web \ Externo (suponiendo que el nodo esté instalado en la ruta de su entorno)
Clemencia

El mío funcionó haciendo lo que dice la respuesta. Sin embargo, esta es la segunda vez que ocurre este problema, la primera vez que se resuelve utilizando el comentario de @ Leniency. :)
Imdad

1
"reemplaza" o tal vez "precede"
N73k

@Leniency, esto funcionó de maravilla para mí: una extensión de nodo (NPM Task Runner de Mads) estaba usando una versión diferente (VS) del nodo y estaba fallando, ¡gracias!
Michael Harper

52

No necesita agregar un nuevo directorio de instalación de Node, Node existe en PATH. Observe cómo $ (PATH) está debajo de la ruta interna $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External .

Para usar la variable de entorno global PATH antes de la ruta interna, puede usar las flechas en la parte superior derecha para cambiar el orden.

Así es como se ve cuando se busca en la RUTA global antes que en la interna y, por lo tanto, hará que Visual Studio use sus propias versiones de las herramientas. ingrese la descripción de la imagen aquí


Gracias. Esto funcionó muy bien y lo prefiero a agregar el directorio nodejs.
Tim Turner

Esto funcionó para mí. Algunos paquetes terminaron antes de '$ (PATH)', pero cuando moví '$ (PATH)' debajo de '. \ Node_modules \ .bin' gulp comenzó a funcionar nuevamente y obtuve los íconos de mi aplicación web de vuelta :)
Phil

0

Para mí, el problema resultó ser que había un node.exearchivo local en el mismo directorio en el que estaba el csprojarchivo, junto con un node.exe.configarchivo.

Tuve un evento posterior a la compilación que llamaría gulppara hacer algún otro trabajo y VS2017 usaría el node.exearchivo local en lugar de lo que estaba listado en mi $(PATH)variable. Esta era una versión anterior del nodo que no quería usar, por lo que la solución para mí fue eliminar el local node.exepara $(PATH)que se use el que aparece en la lista o actualizar el node.exearchivo local si node.exe.configrealmente es necesario.

Solo quería agregar esto aquí en caso de que alguien más se encuentre con el mismo problema.


0

Parece como si las opciones en

Herramientas> Opciones> Proyectos y soluciones> Administración de paquetes web> Herramientas web externas

no tienen ningún efecto. Sin embargo, es posible configurar la versión del nodo mediante

Proyecto> Propiedades

Proyecto> captura de pantalla de propiedades

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.