2017-06-11 43 views
7

我是firebase的新手,正在尝试制作一个简单的应用程序,该应用程序使用用户身份验证。在这个项目中,我尝试使用CLI命令在本地服务器上运行Firebase。
我已经设置了firebase init和firebase部署。当我输入火力对我的项目文件夹服务我得到的回应,Firebase服务错误

"an unexpected error has occurred".

下面我附上我的firebase-debug.log文件的内容。任何帮助,将不胜感激。由于

命令要求的范围:

[ “电子邮件”, “OpenID的”, “https://www.googleapis.com/auth/cloudplatformprojects.readonly”, “https://www.googleapis.com/auth/firebase”,... [调试] [2017-06-11T17:09:09.607Z]>通过登录用户授权

TypeError: Cannot read property 'public' of undefined

回答

10

看着你firebase.json文件,你应该在你运行firebase serve的目录。它应该是这个样子this

{ 
    "hosting": { 
    "public": "app", 
    "ignore": [ 
     "firebase.json", 
     "**/.*", 
     "**/node_modules/**" 
    ] 
    } 
} 

如果它不具有"hosting"键,那么你会得到Cannot read property 'public' of undefined错误,因为firebase serve试图访问.hosting.public

+1

运行firebase init之后 - firebase.json文件为空 - 如果我们仅触发了Firebase函数,这是一个错误吗? –

+0

我也尝试添加托管,但仍然doens'工作 –

1

这似乎是一个错误 - 理想情况下应该用Firebase Init解决。我已经登录了Firebase的支持凭单,并鼓励其他人也这样做。

3

)创建一个名为“public”的文件夹并将文件放入其中。

)编辑firebase.json,只是这样写:

{ 
"hosting": { 
"public": "public" 
} 
} 
0

我想你可能跳过意外的初始化步骤(我把我的第一次运行,经历同样的事情)

试试这个(从同一项目目录):

1)初始化火力

2)当提示FO r服务您需要确保Database AND Hosting选项使其标记突出显示为绿色(使用空格键托管到标签)。只需选择数据库并让它运行其配置,并假设它在其下面配置了所有的项目符号选项,这很容易,因为如果您没有仔细观察,因为stdout信息不是很清楚。现在按回车键

3)接受默认的数据库设置,就像您之前可能做的那样,当被问及“您想用作公共目录(公共)”的什么时,请按Enter键。

此时,你应该是好去旋转了一个本地火力Web服务器...

4)尝试“火力点服务”,按下回车键,你应该得到验证,即托管文件被服务从/公开

希望这会有所帮助。祝你好运。

1

我今天遇到这个问题,我跑了--debug,并发现我已经安装NPM /节点须藤用户,运行以下:

firebase serve 

是给我这个错误:

Error: An unexpected error has occurred. 

当我使用sudo运行它时,我就能够部署托管和本地功能:

sudo firebase serve --debug --only hosting,functions