Firebase-tools: erro com funções de implantação do Firebase

Criado em 31 mai. 2017  ·  21Comentários  ·  Fonte: firebase/firebase-tools

Oi,
Recebi este erro quando tento implantar funções no meu projeto Firebase e não consigo resolver este problema
versão do firebase

[debug] TypeError: Não é possível ler a propriedade 'pipesCount' de indefinido
em module.exports.Readable.pipe (_stream_readable.js: 545: 16)
em 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)
em 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)
em module.exports.ArchiveOutputStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
em module.exports.ZipStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
em module.exports.Zip.append (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
em module.exports.Archiver._moduleAppend (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
em module.exports.Archiver._onQueueTask (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
em /usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
em Immediate.process [as _onImmediate] (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[erro]
[erro] Erro: Ocorreu um erro inesperado.

Comentários muito úteis

O Node v8.1.0 acaba de ser lançado e, se você atualizar a versão do seu nó, a implantação funcionará novamente. Infelizmente, não podemos fazer o firebase-tools funcionar com a v8.0.0.

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

Todos 21 comentários

Qual versão do Node.js você está usando?

Na quarta-feira, 31 de maio de 2017, 5h28, Laguses [email protected] escreveu:

Oi,
Recebi este erro quando tento implantar funções no meu projeto Firebase e
Não consigo resolver este problema
versão do firebase

[debug] TypeError: Não é possível ler a propriedade 'pipesCount' de indefinido
em module.exports.Readable.pipe (_stream_readable.js: 545: 16)
em 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)
em 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)
em module.exports.ArchiveOutputStream.entry
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
em module.exports.ZipStream.entry
(/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
em module.exports.Zip.append
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
em module.exports.Archiver._moduleAppend
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
em module.exports.Archiver._onQueueTask
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
no
/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
em Immediate.process [as _onImmediate]
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[erro]
[erro] Erro: Ocorreu um erro inesperado.

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/firebase/firebase-tools/issues/356 ou desative o
fio
https://github.com/notifications/unsubscribe-auth/AAAD_voVD-nm4r_ZHoU5cToJFNMXgNuGks5r_V0HgaJpZM4Nrkm-
.

versão mais recente do Node.js ver: 8.0.0

Eu vi mais dois relatórios desse problema no NodeJS 8 no Slack.

@laurenzlong, vamos

Parece ser um bug em uma de nossas dependências: https://github.com/archiverjs/node-archiver/issues/236

1 por acertar este erro. também no node.js ver: 8.0.0.

1 por acertar este erro. também no node.js ver: 8.0.0.

Fiz o downgrade do node.js para a versão 6.10.3 e agora funciona sem nenhum erro.

Recebi o mesmo erro ao tentar implantar no Node versão 8.0.0 e a implantação do Firebase termina com um erro inesperado:

[debug] TypeError: Não é possível ler a propriedade 'pipesCount' de indefinido
em module.exports.Readable.pipe (_stream_readable.js: 545: 16)
em 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)
em 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)
em module.exports.ArchiveOutputStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
em module.exports.ZipStream.entry (/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
em module.exports.Zip.append (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
em module.exports.Archiver._moduleAppend (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
em module.exports.Archiver._onQueueTask (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
em /usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
em Immediate.process [as _onImmediate] (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[erro]
[erro] Erro: Ocorreu um erro inesperado.

Agradeço a aparente atividade / resposta sobre isso, encontrei este erro.

Apenas para lembrar às pessoas que as funções não são críticas, ou seja, para um site hospedado principalmente pelo Firebase - você pode removê-las temporariamente - e eu fui capaz de implantar fazendo isso.

Eu também encontrei esse erro anteriormente e a AFAIK, a única solução alternativa agora é fazer o downgrade do Node.js de 8.0 para 7.10.

Pelo que reuni ao fazer alguma depuração, o problema parece surgir em prepareFunctionsUpload.js ao gerar o arquivo zip ( aqui ), portanto, o culpado é o pacote NPM arquivador ou uma de suas dependências.

Avise-me se puder fornecer mais informações.

Editar: cc @laurenzlong @mbleigh
Edit 2: Oops, acabei de notar que Lauren já descobriu isso. Não se importe comigo.

Estamos esperando que o pacote do arquivador faça uma correção (por enquanto). Eles são
discutindo isso na questão vinculada acima por Lauren. A única maneira de corrigir para
o momento é fazer o downgrade do nó.

Na sexta-feira, 2 de junho de 2017, 7:03, Josep Sayol [email protected] escreveu:

Eu também encontrei este erro anteriormente e AFAIK é a única solução alternativa certa
agora está fazendo downgrade do Node.js de 8.0 para 7.10.

Pelo que eu reuni ao fazer alguma depuração, o problema parece surgir
em prepareFunctionsUpload.js ao gerar o arquivo zip (aqui
https://github.com/firebase/firebase-tools/blob/59b61d13c8c4a8478aef168dff2691c58ab234da/lib/prepareFunctionsUpload.js#L80 ),
então o culpado é o pacote NPM arquivador ou um de seus
dependências.

Avise-me se puder fornecer mais informações.

-
Você está recebendo isso porque comentou.

Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/firebase/firebase-tools/issues/356#issuecomment-305797280 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAAD_pQ5NOKxHepQcyQH5WxVNNlO-lnLks5sABY6gaJpZM4Nrkm-
.

@mbleigh Não estamos definindo a versão do nó em nosso projeto de funções e também não vimos os projetos de amostra fazerem isso. É tão simples quanto definir o nó como uma dependência no package.json ou é o parâmetro "engines" no package.json?

@ahaverty , sinto que posso responder por você. O Node é instalado globalmente, portanto, não estará em seu package.json. Você pode usar nvm (gerenciador de versão de nó) para mudar sua versão de nó. http://michael-kuehnel.de/node.js/2015/09/08/using-vm-to-switch-node-versions.html

Eu vejo! Portanto, é apenas um problema local durante a implantação? (Parece que as funções do firebase executam o Node 6.9.1 independentemente do implantador https://cloud.google.com/functions/docs/writing/)
Obrigado @AlexChaseJones

Correto.

Na sexta-feira, 2 de junho de 2017, 8h27, Alan Haverty [email protected] escreveu:

Eu vejo! Portanto, é apenas um problema local durante a implantação? (Parece que
O firebase functions executa o Node 6.9.1 independentemente do implantador
https://cloud.google.com/functions/docs/writing/)
Obrigado @AlexChaseJones https://github.com/alexchasejones

-
Você está recebendo isso porque foi mencionado.

Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/firebase/firebase-tools/issues/356#issuecomment-305820945 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAAD_la24E0U4QFWi9hjNOWm7SigOtPMks5sACnmgaJpZM4Nrkm-
.

Confirmado, trabalhos de rebaixamento.

Instruções para n00bs como eu, que está fazendo os tutoriais do Firebase Codelab:

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

No momento, isso está esperando por um patch de nó: https://github.com/nodejs/node/pull/13374

O Node v8.1.0 acaba de ser lançado e, se você atualizar a versão do seu nó, a implantação funcionará novamente. Infelizmente, não podemos fazer o firebase-tools funcionar com a v8.0.0.

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

Ajudou apenas
firebase deploy --only functions

Você pode usar o babel e, opcionalmente, o webpack do transpile + ES8 ao Node 6, que o firebase usa atualmente.

Esta página foi útil?
0 / 5 - 0 avaliações