Больше не могу запускать функции Cloud локально - PullRequest
0 голосов
/ 03 июля 2019

Через месяц я вернулся в свою среду разработки и запустил firebase serve --only functions. Он дал мне несколько сообщений о том, что я должен обновить свои пакеты. Я просто следовал указаниям, и локально работающие облачные функции на машине разработки были прерваны :( Я перезапустил все с нуля и обновил все зависимости до последнего. К сожалению, у меня возникла проблема с аутентификацией, которая мне не повезло: ( Я получаю эту ошибку:

Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.

packages.json:

{
  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "8"
  },
  "main": "lib/index.js",
  "dependencies": {
    "firebase-admin": "^8.2.0",
    "firebase-functions": "^3.0.2",
    "firebase-tools": "^7.0.2",
    "google-gax": "^1.1.3"
  },
  "devDependencies": {
    "tslint": "^5.12.0",
    "typescript": "^3.2.2"
  },
  "private": true
}

Я добавил свой комментарий к связанной с Github проблеме здесь

1 Ответ

1 голос
/ 03 июля 2019

В случае, если кто-то испытывает подобную проблему.Для меня переключение инициализации firebase-admin с помощью config() на ручную передачу service-account-creds решило эту проблему с аутентификацией.

Не работало после получения последних обновлений

admin.initializeApp(functions.config().firebase);

Рабочий раствор

var admin = require("firebase-admin");

var serviceAccount = require("firebase-adminsdk.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://<project>.firebaseio.com"
});
...