es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error en la biblioteca “apidoc” al ejecutarse en Docker.

Estoy obteniendo un error en apidoc (versión apidoc-0.50.3) mientras se ejecuta en Docker y estoy utilizando Node v12.22.7.

Comando:

RUN npm install apidoc -g
RUN apidoc -e node_modules

Error:

node_modules/apidoc/lib/writer.js:136
const title = projectInfo.title ?? projectInfo.name ?? 'Cargando...';
SyntaxError: Token inesperado '?'

Ayúdame a encontrar una solución.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El error que estás encontrando está relacionado con el uso del “operador de fusión de nulos (??)”, el cual no es compatible con la versión de Node que has mencionado (v12.22.7). Este operador fue introducido en Node v14.0.0.

    Para resolver este problema, tienes dos opciones:

    1. Actualiza la versión de tu Node.js a un mínimo de v14.0.0.
      • Puedes actualizar el archivo Dockerfile para instalar node v14.x.x, por ejemplo: RUN apt-get update && apt-get install -y nodejs=14.*
      • O puedes actualizar la versión local de tu Node.js a v14.x.x.
    2. Modifica el código de apidoc para eliminar el uso del operador de fusión de nulos (??).
      • Puedes navegar hasta el archivo node_modules/apidoc/lib/writer.js donde se está produciendo el error.
      • Encuentra la línea de código que está causando el error: const title = projectInfo.title ?? projectInfo.name ?? 'Loading...';
      • Reemplázala con el siguiente código que utiliza operadores ternarios para lograr el mismo resultado:
        const title = projectInfo.title ? projectInfo.title : projectInfo.name ? projectInfo.name : 'Loading...';
      • Guarda el archivo y vuelve a intentar ejecutar el comando Docker.

    Espero que esto te ayude a resolver el problema con apidoc en tu entorno Docker.

Comments are closed.