Una forma de solucionar el error node unexpected token si estamos seguros que nuestro código está bien, es cambiar la versión de node que usamos.

Ejemplo del error

Mientras realizaba los ejercicios del curso Node: De cero a experto ( Edición 2021 ), me encontré con el error

const empleado = empleados.find(emp => emp.id === id)?.nombre
^
SyntaxError: Unexpected token \'.\'
at wrapSafe (internal/modules/cjs/loader.js:1067:16)
at Module._compile (internal/modules/cjs/loader.js:1115:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Function.executeUserEntryPoint as runMain

Esto sucede a veces cuando probamos características nuevas en node, y es de esperarse porque eso es lo que se enseña en ese curso. Si deseas saber mi opinión del curso, ya me he tomado tiempo de escribir al respecto, solo que aún no lo publico.

Para lidiar con este tipo de problemas sugiero trabajar con nvm.

Solución con node version manager

Time Needed : 0 days 0 hours 20 minutes

  1. Primeramente verificamos la versión de nuestro nvm

    >nvm –version

    En mi caso me dice que estoy ejecutando la versión 1.1.7.

  2. Posteriormente veo que versiones de node tengo instaladas

    para ello uso el comando

    >nvm list

    En mi caso me arrojó que estoy corriendo la versión 13.7.0 con el ejecutable de 64 bits

  3. Obtener que versiones recientes puedo instalar

    ejecuto:

    >nvm list available

    Esto arroja una tabla con las versiones recientes
    Sin embargo si deseas la lista completa de versiones, no solamente las más recientes deberás consultarla en https://nodejs.org/download/release

  4. Para instalar una versión específica de node uso el comando

    >nvm install 14.16.0

    Este comando se encargará de descargar node y npm en las versiones necesarias.

    Ahora al listar las instalaciones que tengo obtendré:

    >nvm list

    * 13.7.0 (Currently using 64-bit executable)
    14.16.0

    Con un asterisco indicando la selección actual.

  5. Finalmente para cambiar la versión de node

    uso el comando

    > nvm use 14.16.0
    Now using node v14.16.0 (64-bit)

    esto me indicará que la versión actual ha cambiado. Tras correr de nuevo el código todo debería de funcionar ahora.

Tools
  • Node Version Manager ( NVM )

javapro.org