Tengo nvm para Windows instalado y cuando hago un whereis nvm cuando inicio sesión en mi distribución Pengwin Linux a través de WSL2, muestra que está usando el binario en el montaje del sistema de archivos de Windows en /mnt/c/Users/seefe/AppData/Roaming/nvm/nvm.exe Esto es a pesar de pasar también por el procedimiento de instalación de Linux para nvm, que supuse que ocultaría la versión de Windows.
Es lo mismo con gatsby-cli . El problema es cuando en Linux Land, ejecutar nvm y gatsby es una tarea porque el tiempo de respuesta para los comandos en los sistemas de archivos es demasiado lento. ¿Cuál es la estrategia del entorno WSL para garantizar que los paquetes que instale a través de npm cuando en Linux estén instalando y usando los paquetes específicamente en el sistema de archivos de Linux?
Disculpas por llevarte en la dirección equivocada con esta respuesta originalmente.
Después de instalar nvm nuevamente en una sesión de prueba de WSL (generalmente uso n yo mismo), veo que Linux nvm está instalado como una función bash, no como un binario. Esto significa que whereis nvm en realidad no lo ve, ya que whereis solo busca archivos .
> type nvm | head -1 nvm is a functionDos cosas a tener en cuenta:
Cuando se ingresa sin una ruta completamente calificada (absoluta o relativa), la función tendrá prioridad sobre un binario. Entonces, siempre que el type nvm devuelva la función, debería estar bien.
Y el hecho de que mencione (en los comentarios) que su ruta comienza con /home/seefer/.nvm/versions/node/v14.18.0/bin significa que Linux nvm funciona correctamente y antepone el directorio de activación correcto a su ruta .
Si tiene problemas con node o npm después de usar los comandos nvm use o nvm install , infórmenos.
Mientras que whereis nvm encuentra /mnt/c/Users/seefe/AppData/Roaming/nvm/nvm.exe , tendría que ejecutar nvm.exe para ejecutar la versión de Windows.
Sin embargo, hay una cosa más a tener en cuenta aquí, que está relacionada con esa otra respuesta .
npm en Windows es extraño, ya que en realidad se envía con un script de shell (aunque es para Windows) llamado npm que a su vez llama a Windows npm.exe . Si tiene Windows Node/NPM instalado (y parece que lo tiene), tenga cuidado de activar siempre la versión de Linux (para que se anteponga a la ruta) con el nvm de Linux.
De lo contrario, puede tener problemas con Windows npm al intentar ejecutarse en WSL/Linux.
Ten cuidado con esto. Siempre que haya activado una instalación de nodo/npm con Linux