¿Cómo puedo deshabilitar la restauración del paquete NPM en Visual Studio 2015?

82

Cuando abro un proyecto con un package.json en Visual Studio 2015, se inicia automáticamente una instalación de npm y VS no responde hasta que se completa la instalación.

Preferiría ejecutar npm install yo mismo desde la línea de comandos; ¿Cómo puedo evitar que Visual Studio lo haga?

Geir Sagberg
fuente

Respuestas:

76

Si actualiza a Visual Studio 2017 (la 'Community Edition' gratuita está bien), el equipo de VS ha agregado una opción para detener la ejecución de npm cuando se abre un proyecto. Está en Herramientas / Opciones / Proyectos y soluciones / Administración de paquetes web / Restauración de paquetes. Puede deshabilitar las restauraciones de NPM (y Bower) en Project Open y en package.json Save por separado.

Tenga en cuenta también que para los tipos de proyecto node.js (NTVS) solo el comportamiento de restauración automática de paquetes está deshabilitado por completo en VS2017 en la actualidad.

Editar: la respuesta anterior también se aplica a Visual Studio 2019. Las opciones del menú están en el mismo lugar, aunque la compatibilidad con Bower ha quedado obsoleta.

Rich N
fuente
¿Existe una solución permanente? Apliqué esto, luego actualicé VS2019 y boom, NPM habilitado nuevamente
amartin1911
78

Prueba esto:

  • Abra Herramientas -> Opciones
  • Seleccione Proyectos y soluciones / Herramientas web externas
  • Desmarque los cuatro caminos
  • Haga clic en Aceptar

No parece que sea necesario cerrar la solución, etc. Las funciones de NPM y Bower ahora están deshabilitadas en VS pero funcionarán bien en la línea de comandos (asumiendo que haya instalado globalmente npm, bower, etc.). Puede recibir algunos mensajes de error en la ventana de Salida, pero no hay errores de compilación ni advertencias.

Para restaurar el funcionamiento normal, vuelva a Herramientas web externas y haga clic en "Restablecer valores predeterminados" en la parte inferior derecha.
No he probado esto con Publicar; es posible que deba restaurar los valores predeterminados para publicar correctamente, pruébelo si encuentra errores en ese momento.

Van Kichline
fuente
1
Si bien obtengo algunos errores en la salida, por ejemplo, Task Runner Explorer no encuentra Gulp, etc., supongo que esto es lo esperado. Esto ciertamente funciona, gracias :)
Geir Sagberg
28
Es bastante ridículo que no puedas desactivar esta opción. :(
Sean Anderson
4
+1 VS es lo suficientemente lento sin la integración de git y npm. Es mejor usar VS Code / Sublime / Webstorm para proyectos relacionados con JS.
cchamberlain
1
Usando VS Community 2017 15.5.6. En realidad, esto funciona, pero yo no tenga que reiniciar Visual Studio con el fin de hacer que se detenga la restauración de paquetes de NGP.
rsenna
¿Existe una solución permanente? Apliqué esto, luego actualicé VS2019 y boom, NPM habilitado nuevamente
amartin1911
4

¡Visual Studio 2015 Update 2 solucionó este problema! Instale la Actualización 2 y debería estar listo para comenzar.

Descarga directa: http://go.microsoft.com/fwlink/?LinkId=691129
Update 2 Notas de la versión: https://www.visualstudio.com/news/releasenotes/vs2015-update2-vs

Editar : " arreglado " puede no ser del todo exacto y puede que no esté completamente arreglado para todos los usuarios. Quizás podamos precisar lo que todos están experimentando. Para aclarar, mi experiencia ha sido la siguiente:

  • Antes de la Actualización 2, VS ejecutaba 'npm install' cada vez que abría el .sln, lo cual era muy difícil de manejar.
  • Después de la Actualización 2, VS ejecuta 'npm install' en ciertos escenarios, lo cual es tolerable (en mi experiencia).

En mi experiencia, post-parche VS, al abrir el .sln, ejecutará 'npm install' si falta alguna de las dependencias en package.json en la carpeta node_modules (o si falta la carpeta en sí).

No puede deshabilitar 'npm install', por lo que 'fijo' puede no ser del todo correcto; sin embargo, no lo hace en cada lanzamiento como antes, así que lo considero una victoria. ¿Puede la gente confirmar que este es el comportamiento o estamos experimentando comportamientos diferentes?

Ashlin Allen
fuente
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden dejar de ser válidas si cambia la página enlazada. - De la crítica
Alessandro Cuttin
1
El enlace no contiene la respuesta, solo está ahí para descargar la actualización de software. Cambié el enlace para vincularlo directamente a la descarga, en lugar de las notas de actualización. ¿Es eso aceptable?
Ashlin Allen
2
No lo llamaría arreglado, hicieron que la pantalla sea menos probable que se bloquee o se bloquee, pero si maneja manualmente npm, entrará en peleas con la restauración automática vs, y todavía no hay una opción para deshabilitarlo afaik .
npjohns
Tengo Visual Studio 2015 Update 2 y todavía intenta ejecutar npm install y gulp. No estoy seguro de si esto soluciona el problema.
Jamie McCrindle
He editado mi respuesta, ¿también está viendo que se ejecuta 'npm install' en el escenario específico que menciono, o se está ejecutando en otras ocasiones? En cuanto a Gulp, intentaré profundizar en eso ... mi configuración actual está usando Webpack y VS solo ejecuta Webpack si tengo el Task Runner Explorer configurado para hacerlo. VS está ejecutando Gulp incluso sin que TRE esté configurado para ejecutarlo?
Ashlin Allen