Entonces, algo sucedió hace un par de días y un proyecto mío comenzó a mostrar el siguiente error:
TypeError: Busboy is not a constructor at /app/node_modules/connect-busboy/index.js:21:18 at /app/node_modules/express-fileupload/lib/index.js:9:31 at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/app/node_modules/express/lib/router/index.js:323:13) at /app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/app/node_modules/express/lib/router/index.js:341:12) at next (/app/node_modules/express/lib/router/index.js:275:10) at urlencodedParser (/app/node_modules/body-parser/lib/types/urlencoded.js:100:7) at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/app/node_modules/express/lib/router/index.js:323:13) at /app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/app/node_modules/express/lib/router/index.js:341:12) at next (/app/node_modules/express/lib/router/index.js:275:10) at jsonParser (/app/node_modules/body-parser/lib/types/json.js:119:7) at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/app/node_modules/express/lib/router/index.js:323:13) at /app/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/app/node_modules/express/lib/router/index.js:341:12) at next (/app/node_modules/express/lib/router/index.js:275:10) at logger (/app/node_modules/morgan/index.js:144:5) at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/app/node_modules/express/lib/router/index.js:323:13)Lo que creo que es extraño es que este Busboy no se usa en mi código, solo en las dependencias de node_modules. ¿Alguien sabe si hay algún error de compatibilidad con la versión de Busboy o alguno de los que figuran en el error que podría causar tal cosa?
Mire, node_modules no solo contiene los paquetes que instaló, también contiene dependencias de sus paquetes instalados. Entonces, una buena práctica es usar archivos de bloqueo como package-lock.json, que bloqueará la versión de cada paquete y cada vez que ejecute npm install , instalará las versiones bloqueadas exactas (para ser más precisos, con el script npm ci ). Entonces, en este caso, como veo, uno de sus paquetes se ha actualizado o tal vez ese paquete "busboy" se ha actualizado y después de ejecutar el script de instalación, le trajo el paquete (o paquetes) actualizado que implica este error.