部署到firebase云功能时出错 - ?缺少配置细节

时间:2017-11-11 09:35:47

标签: firebase google-cloud-functions

我在我的mac上安装了firebase工具。 我得到的firebase版本是3.14.0

我认为看完之后: https://firebase.google.com/docs/functions/config-env

我需要做的就是运行:

firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"

但如果我错了,下面有一篇长篇文章解释我的问题。

感谢。

使用指南:

https://firebase.google.com/docs/functions/get-started

我的目录结构看起来很合理。 package.json文件如下:

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "serve": "firebase serve --only functions",
    "shell": "firebase experimental:functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "firebase-admin": "~5.4.2",
    "firebase-functions": "^0.7.1"
  },
  "private": true
}

在index.js文件中,我有三行代码:

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

但是当我运行firebase部署时,它会在准备上传功能时暂停。

i  functions: preparing functions directory for uploading...

Error: Error occurred while parsing your function triggers.

/private/var/folders/1v/xxxxxxxxxxxxxxxxxxxxxxxx/T/xxxxxxxxxxxxxxxxxx/index.js:2
const admin = require('firebase-admin’);
                      ^^^^^^^^^^^^^^^^^^

SyntaxError: Invalid or unexpected token
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)

我之前使用过firebase云功能以及之前的应用程序,我最初安装了一些帮助,我记得可能不得不对配置文件进行一些改动,使用firebase功能。但我真的不记得了。这次唯一的区别是安装firebase工具时我选择了Firestore以及firebase数据库。

我还检查过我已经使用firebase登录登录了,我是。

更新

我确实看过:

https://firebase.google.com/docs/functions/config-env

我只是不确定需要设置哪些环境变量。

有帖子Cloud Functions for Firebase Error occurred while parsing your function triggers

关于设置:

firebase functions:config:set gmail.email="email@gmail.com" gmail.password="gmailPassword"

但我已经使用我的电子邮件登录,因此不确定是否需要重新设置。

还有https://firebase.google.com/docs/admin/setup和几行关于“如果您在云功能中使用Node.js Admin SDK,您可以通过functions.config()变量自动初始化SDK:”admin。 initializeApp(functions.config()火力);

还有这篇文章:手动设置配置文件,但不确定它的相关性:

How do you setup local environment variables for Cloud Functions for Firebase

感谢。

1 个答案:

答案 0 :(得分:2)

此声明中的结束标记不正确。应该是一个简单的撇号,如开头的嘀嗒声,而不是“正确的单引号”(unicode 8217):

const admin = require('firebase-admin’);

更改它以匹配开头的刻度。

令人费解的是,您发布的代码中的勾号是正确的:

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

但不在错误输出中:

/private/var/folders/1v/xxxxxxxxxxxxxxxxxxxxxxxx/T/xxxxxxxxxxxxxxxxxx/index.js:2
const admin = require('firebase-admin’);
                      ^^^^^^^^^^^^^^^^^^