visual tutorial studio para node instalar for extensions debug create configurar code node.js visual-studio-code nvm

node.js - tutorial - node js visual studio 2017



Código de Visual Studio para usar la versión de nodo especificada por NVM (6)

¿Es posible que VS Code use la versión de nodo especificada por NVM?

Tengo 6.9.2 instalado localmente. Incluso después de cambiar a otra versión, desde el terminal OS X (no el terminal de código VS), reiniciando el código VS, el código VS aún se muestra usando 6.9.2.

Terminal OS X

MacBook-Pro-3:~ mac$ node -v v7.8.0

Terminal de código VS

MacBook-Pro-3:QB-Invoice-API mac$ node -v v6.9.2


En VS Code, vaya a su archivo launch.json y agregue el atributo runtimeVersion dentro de las configuraciones, como se muestra a continuación. (En este ejemplo, estamos asumiendo que 4.8.7 ya está instalado usando nvm)

{ "version": "<some-version>", "configurations": [ { "type": "node", "runtimeVersion": "4.8.7", // If i need to run node 4.8.7 "request": "launch", "name": "Launch", "program": "${workspaceFolder}/sample.js" } ]}


La solución es establecer el alias por default . En el terminal del sistema operativo ejecutar -

nvm alias default 7.8.0

Abra vscode, ahora ejecuta el node -v devuelve 7.8.0

Parece que vscode toma este valor (alias predeterminado) y no la versión de nodo establecida por nvm use XXX

Actualización (12/04/2018) - Esta solución podría no funcionar para todos. Por favor, vea las respuestas a continuación para otras soluciones.


Tuve el mismo problema de no poder mantener mi versión de nodo especificada a través de nvm en mi entorno OS X, no solo con VSCode sino también con Atom Editor (usando el paquete platformio-ide-terminal para administrar el terminal integrado en él). Ninguna de las sugerencias en las respuestas anteriores funcionó para mí, además de no usar el depurador, sino usar tragos y gruñidos para tareas específicas. Al parecer, nvm no se lleva bien con los terminales o sub shells integrados al menos en estos editores porque al cargarlos, la variable de entorno $ PATH se modifica internamente y hace lo siguiente de acuerdo con un comentario de uno de los colaboradores de este paquete en este problema informado Aquí NVM no se carga dentro del shell anidado # 1652 :

" @charsleysa . Sé por qué nvm está generando este error. En su subshell, de alguna manera el / usr / local / bin: / usr / bin: / bin: / usr / sbin: / sbin parte de su PATH se ha movido desde el final Del PATH al inicio.

  • Cuando se inicia nvm, llama a nvm_change_path (mi contribución lo cambió a esto desde nvm_prepend_path), que modifica la parte relevante de nvm de la ruta en su lugar.
  • Nvm luego verifica el prefijo actual de npm preguntando a npm qué es. Dado que / usr / local / bin / npm ahora tiene prioridad, informa / usr / local / bin.
  • Nvm luego verifica si el prefijo actual tal como lo informa npm está en el árbol de directorios de la versión actual del nodo nvm (en esta etapa, el directorio de instalación de la versión del nodo al que se resuelve su alias nvm predeterminado).
  • El prefijo no forma parte de ese árbol, por lo que se desactiva a sí mismo (se llama a nvm_strip_path en el proceso, por lo que no hay una ruta relacionada con nvm en la PATH de la subshell), y se salta con el error que está recibiendo. MacOS / etc / profile (o / etc / zprofile) llama a / usr / libexec / path_helper, que hace el switcheroo PATH.

En el shell primario, el PATH aún no tiene un directorio nvm, por lo que, cuando se ejecuta nvm, antepone su directorio a la ruta. Pero en el subshell, PATH ha sido reconfigurado por macOS para poner cualquier directorio que no sea del sistema al final y tenemos el problema ".

Siempre recibí este mensaje al iniciar cualquier terminal integrado:

nvm no es compatible con la opción "prefijo" de npm config: actualmente está configurado en "/ usr / local" Ejecute el npm config delete prefix o nvm use --delete-prefix vx.xx --silent para desarmarlo.

Lo que hice para resolver esto en mi caso fue la parte de "solución alternativa" de ese mismo problema informado, que es esencialmente lo siguiente:

  • Restablezca la ruta agregando la siguiente línea dentro de mi ~ / .bash_profile en la parte superior antes que nada: PATH = "/ usr / local / bin: $ (getconf PATH)"

Y después de eso, no hay más advertencias cuando lanzo cualquier terminal integrado en ambos editores y puedo interactuar con nvm para cambiar entre cualquier versión de nodo fácilmente y sin problemas.

Aquí hay another alternativa en caso de que esta no ayude mucho.


Tuve el mismo problema, pero las respuestas anteriores no ayudaron.

Al parecer, el shellArgs predeterminado para osx está configurado para bash mientras estoy usando zsh . shellArgs el problema configurando el shellArgs en mi configuración de usuario en una matriz vacía:

"terminal.integrated.shellArgs.osx": []


Una solución alternativa que he encontrado es simplemente lanzar el código desde el shell después de seleccionar su nodo con nvm.

Primero debe abrir la paleta de comandos y seleccionar "instalar ''código'' en la ruta".

Y luego inicie un terminal y seleccione su nodo a través de nvm y luego inicie "código".


agregue runtimeExecutable a su .vscode/launch.json como este

{ "type": "node", "request": "launch", "name": "App", "program": "${workspaceRoot}/index.js", "runtimeExecutable": "${env:HOME}/.nvm/versions/node/v6.9.2/bin/node" }