Не удается развернуть облачные функции для Firebase

Я отлично разворачивал функции, но потом они перестали работать, и я не знаю почему. Я вернулся к образцу кода (отсюда или здесь):

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

// Listens for new messages added to /messages/:pushId/original and creates an
// uppercase version of the message to /messages/:pushId/uppercase
exports.makeUppercase = functions.database.ref('/messages/{pushId}/original')
    .onWrite(event => {
      // Grab the current value of what was written to the Realtime Database.
      const original = event.data.val();
      console.log('Uppercasing', event.params.pushId, original);
      const uppercase = original.toUpperCase();
      // You must return a Promise when performing asynchronous tasks inside a Functions such as
      // writing to the Firebase Realtime Database.
      // Setting an "uppercase" sibling in the Realtime Database returns a Promise.
      return event.data.ref.parent.child('uppercase').set(uppercase);
    });

Но теперь, когда я бегу firebase deploy --only functions, я получаю:

=== Deploying to 'mydb'...

i  deploying functions
i  functions: ensuring necessary APIs are enabled...
i  runtimeconfig: ensuring necessary APIs are enabled...
+  runtimeconfig: all necessary APIs are enabled
+  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (2.04 KB) for uploading
!  functions: Upload Error: Cannot read property 'response' of undefined
i  starting release process (may take several minutes)...
i  functions: updating function makeUppercase...
!  functions[makeUppercase]: Deploy Error: Function load error: Node.js module defined by file index.js is expected to export function named makeUppercase
+  functions: 0 function(s) deployed successfully.


Functions deploy had errors. To continue deploying other features (such as database), run:
    firebase deploy --except functions

Error: Functions did not deploy properly.

Что случилось?

Консоль показывает те же сообщения об ошибках, без дополнительных пояснений:

введите здесь описание изображения


person Glen Little    schedule 06.04.2017    source источник
comment
Покажите вывод команды развертывания, добавив --debug к аргументам командной строки.   -  person Doug Stevenson    schedule 06.04.2017
comment
Вывод команды deploy с --debug слишком велик, чтобы помещать здесь ... Я мог бы записать его и отправить вам по электронной почте, если вы думаете, что это может помочь. Я просмотрел это и многому не научился.   -  person Glen Little    schedule 07.04.2017
comment
@ frank-van-puffelen Я вижу, вы добавили тег google-cloud-functions. Разве это не отличается от функций Firebase?   -  person Glen Little    schedule 07.04.2017
comment
Cloud Functions for Firebase - это Google Cloud Functions, но с дополнениями, которые интегрируют функции Firebase. И вы можете отправить свой журнал в службу, например pastebin, и указать здесь ссылку.   -  person Doug Stevenson    schedule 07.04.2017
comment
См. [В чем разница между облачной функцией и функциями Firebase? ] (stackoverflow.com/questions/42854865/).   -  person Frank van Puffelen    schedule 07.04.2017
comment
у меня проблема с версией 3.9.0   -  person MikeG    schedule 23.05.2017


Ответы (3)


Только что вышла версия 3.6.0 инструментов Firebase ... после установки этой версии развертывание прошло нормально!

person Glen Little    schedule 07.04.2017

Внутри вашего проекта терминалом:

npm install
firebase deploy
person Oscar Duarte    schedule 06.10.2017

Очень полезно изучить фактические журналы, просмотрев журнал.

firebase functions:log

Там будет видна конкретная проблема. Иногда у меня возникала такая простая ошибка, как отсутствие пакета

person Abraham    schedule 06.07.2021