Firebase-tools: error con las funciones de implementación de firebase

Creado en 31 may. 2017  ·  21Comentarios  ·  Fuente: firebase/firebase-tools

Hola,
Recibí este error cuando intento implementar funciones en mi proyecto de base de fuego y no puedo resolver este problema
versión de base de fuego: 3.9.0

[debug] TypeError: no se puede leer la propiedad 'pipeCount' de undefined
en module.exports.Readable.pipe (_stream_readable.js: 545: 16)
en module.exports.ZipArchiveOutputStream._smartStream (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:171:11)
en module.exports.ZipArchiveOutputStream._appendStream (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:94:20)
en module.exports.ArchiveOutputStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
en module.exports.ZipStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
en module.exports.Zip.append (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
en module.exports.Archiver._moduleAppend (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
en module.exports.Archiver._onQueueTask (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
en /usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
en Immediate.process [as _onImmediate] (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[error]
[error] Error: se ha producido un error inesperado.

Comentario más útil

El nodo v8.1.0 acaba de ser lanzado, y si actualiza la versión de su nodo, la implementación volverá a funcionar. Desafortunadamente, no podemos hacer que firebase-tools funcione con v8.0.0.

nvm install 8.1.0
nvm use 8.1.0
npm install -g firebase-tools
firebase deploy --only functions

Todos 21 comentarios

¿Qué versión de Node.js estás usando?

El miércoles 31 de mayo de 2017 a las 5:28 a.m., Laguses [email protected] escribió:

Hola,
Recibí este error cuando intento implementar funciones en mi proyecto de base de fuego y
No puedo resolver este problema
versión de base de fuego: 3.9.0

[debug] TypeError: no se puede leer la propiedad 'pipeCount' de undefined
en module.exports.Readable.pipe (_stream_readable.js: 545: 16)
en module.exports.ZipArchiveOutputStream._smartStream
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:171:11)
en module.exports.ZipArchiveOutputStream._appendStream
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:94:20)
en module.exports.ArchiveOutputStream.entry
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
en module.exports.ZipStream.entry
(/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
en module.exports.Zip.append
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
en module.exports.Archiver._moduleAppend
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
en module.exports.Archiver._onQueueTask
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
a
/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
en Immediate.process [como _onImmediate]
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[error]
[error] Error: se ha producido un error inesperado.

-
Estás recibiendo esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/firebase/firebase-tools/issues/356 , o silenciar el
hilo
https://github.com/notifications/unsubscribe-auth/AAAD_voVD-nm4r_ZHoU5cToJFNMXgNuGks5r_V0HgaJpZM4Nrkm-
.

última versión de Node.js ver: 8.0.0

He visto dos informes más de este problema en NodeJS 8 en Slack.

@laurenzlong hagamos que resolver esto sea una prioridad.

Parece ser un error con una de nuestras dependencias: https://github.com/archiverjs/node-archiver/issues/236

+1 por encontrar este error. también en node.js ver: 8.0.0.

+1 por encontrar este error. también en node.js ver: 8.0.0.

Bajé node.js a ver: 6.10.3 y ahora funciona sin ningún error.

Obtuve el mismo error al intentar implementar en la versión 8.0.0 de Node y la implementación de la base de fuego termina con un error inesperado:

[debug] TypeError: no se puede leer la propiedad 'pipeCount' de undefined
en module.exports.Readable.pipe (_stream_readable.js: 545: 16)
en module.exports.ZipArchiveOutputStream._smartStream (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:171:11)
en module.exports.ZipArchiveOutputStream._appendStream (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:94:20)
en module.exports.ArchiveOutputStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
en module.exports.ZipStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
en module.exports.Zip.append (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
en module.exports.Archiver._moduleAppend (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
en module.exports.Archiver._onQueueTask (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
en /usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
en Immediate.process [as _onImmediate] (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[error]
[error] Error: se ha producido un error inesperado.

Agradezco la aparente actividad / respuesta en esto, encontré este error.

Solo para recordarles a las personas que las funciones no son críticas, es decir, para un sitio web alojado principalmente en firebase, puede eliminarlas temporalmente, y he podido implementar haciendo esto.

También me encontré con este error anteriormente y AFAIK, la única solución en este momento es degradar Node.js de 8.0 a 7.10.

Por lo que he recopilado al realizar una depuración, el problema parece surgir en prepareFunctionsUpload.js al generar el archivo zip ( aquí ), por lo que el culpable es el paquete NPM del archivador o una de sus dependencias.

Avíseme si puedo proporcionar más información.

Editar: cc @laurenzlong @mbleigh
Edición 2: Vaya, acabo de notar que Lauren ya se dio cuenta de esto. No me hagas caso.

Estamos esperando el paquete del archivador para solucionarlo (por ahora). Son
discutiéndolo en el tema vinculado anteriormente por Lauren. La única forma de arreglar
el momento es degradar el nodo.

El viernes 2 de junio de 2017 a las 7:03 a.m., Josep Sayol [email protected] escribió:

También me encontré con este error antes y AFAIK es la única solución correcta
ahora está degradando Node.js de 8.0 a 7.10.

Por lo que he recopilado haciendo algunas depuraciones, el problema parece surgir
en prepareFunctionsUpload.js al generar el archivo zip (aquí
https://github.com/firebase/firebase-tools/blob/59b61d13c8c4a8478aef168dff2691c58ab234da/lib/prepareFunctionsUpload.js#L80 ),
por lo que el culpable es el paquete NPM del archivador o uno de sus
dependencias.

Avíseme si puedo proporcionar más información.

-
Estás recibiendo esto porque hiciste un comentario.

Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/firebase/firebase-tools/issues/356#issuecomment-305797280 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AAAD_pQ5NOKxHepQcyQH5WxVNNlO-lnLks5sABY6gaJpZM4Nrkm-
.

@mbleigh No estamos definiendo la versión del nodo en nuestro proyecto de funciones, y tampoco hemos visto que los proyectos de ejemplo lo hagan. ¿Es tan simple como definir el nodo como una dependencia en package.json o es el parámetro "motores" en package.json?

@ahaverty , siento que puedo responder eso por ti. El nodo está instalado globalmente, por lo que no estará en su package.json. Puede usar nvm (administrador de versiones de nodo) para cambiar la versión de su nodo. http://michael-kuehnel.de/node.js/2015/09/08/using-vm-to-switch-node-versions.html

¡Veo! Entonces, ¿es solo un problema local durante la implementación? (Parece que las funciones de firebase ejecutan Node 6.9.1 independientemente del implementador https://cloud.google.com/functions/docs/writing/)
Gracias @AlexChaseJones

Correcto.

El viernes 2 de junio de 2017 a las 8:27 a.m., Alan Haverty [email protected] escribió:

¡Veo! Entonces, ¿es solo un problema local durante la implementación? (Parece que
Firebase functions ejecuta Node 6.9.1 independientemente del implementador
https://cloud.google.com/functions/docs/writing/)
Gracias @AlexChaseJones https://github.com/alexchasejones

-
Recibes esto porque te mencionaron.

Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/firebase/firebase-tools/issues/356#issuecomment-305820945 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AAAD_la24E0U4QFWi9hjNOWm7SigOtPMks5sACnmgaJpZM4Nrkm-
.

Trabajos de degradación confirmados.

Instrucciones para n00bs como yo que están haciendo los tutoriales de Firebase Codelab:

nvm install 7.10
nvm use 7.10.0
npm install -g firebase-tools
firebase deploy --only functions

Esto actualmente está esperando un parche de nodo: https://github.com/nodejs/node/pull/13374

El nodo v8.1.0 acaba de ser lanzado, y si actualiza la versión de su nodo, la implementación volverá a funcionar. Desafortunadamente, no podemos hacer que firebase-tools funcione con v8.0.0.

nvm install 8.1.0
nvm use 8.1.0
npm install -g firebase-tools
firebase deploy --only functions

Ayudó solo
firebase deploy --only functions

Puede usar babel y, opcionalmente, el paquete web desde transpile + ES8 hasta el nodo 6 que usa actualmente firebase.

¿Fue útil esta página
0 / 5 - 0 calificaciones