Estoy desarrollando algunas funciones en la nube para Firebase, y una en particular no funciona debido a un problema en uno de los módulos de nodos de los que depende mi función.
Ya encontré dónde está el problema y cómo solucionarlo, el problema es que, si modifico la fuente en la carpeta node_modules/, esa actualización no se envía al servidor. Eliminé la dependencia del paquete.json y lo hice (antes de modificar el archivo localmente):
npm install --save pdf2imgPero la función no se actualiza, el error siempre es el mismo. ¿Es posible hacer lo que yo haría o no?
¡Gracias por cualquier persona que brinde ayuda!
Gracias a la sugerencia de Mr.Phoenix, la solución es:
Bifurque el repositorio (o en mi caso, busque una bifurcación que ya tenga la solución).
eliminar la versión anterior con:
npm desinstalar --guardar pdf2img
npm install --save git+ https://git@github.com/matteocontrini/node-pdf2img
El problema en este caso específico no se puede resolver porque la biblioteca se basa en "gm" y otras bibliotecas que no están disponibles en las funciones de firebase.
protobufjs en tus node_modules .protobufjs de su node_modules a la carpeta de functions .dependencies lo siguiente: "protobufjs": "file:./protobufjs" (asumiendo que colocó la carpeta protobufjs en la raíz de la carpeta de funciones).firebase deploy .Si ha bifurcado del repositorio original a su propio repositorio de GitHub, puede clonar su versión en la raíz de su carpeta de "funciones". Entonces:
Si es necesario compilar el paquete en Javascript desde Typescript, cree el paquete usando yarn (habrá un archivo yarn.json) o npm (habrá un archivo package.json).
Haga lo que sugirió la respuesta anterior de Daniel Danielecki y agregue a sus dependencias lo siguiente: "[NOMBRE-DE-SU-PAQUETE]": "archivo:./[NOMBRE-DE-SU-PAQUETE]"
Intente implementar usando "implementación de base de fuego". Es posible que reciba un error de es-lint similar a - "error de eslint: no se puede encontrar el módulo '@[ALGUNA NOMBRE]/eslint-config'". Este es un error en eslint y se puede ver aquí eslint bug . Para solucionar este problema, simplemente agregue un archivo ".eslintignore" en la raíz de su carpeta "funciones" y agregue la línea "[NOMBRE-DE-SU-PAQUETE]/*" para ignorar los errores de pelusa falsos para una implementación exitosa.