9

I am new to firebase and am trying to make a simple app that utilizes user authentication. At this point in the project I am trying to run firebase on a local server using CLI commands.
I have set up firebase init and firebase deploy. When I type firebase serve on my project folder i get the response,

"an unexpected error has occurred".

Below i am attaching the contents of my firebase-debug.log file. Any help would be appreciated. Thanks

command requires scopes:

["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase",... [debug] [2017-06-11T17:09:09.607Z] > authorizing via signed-in user

TypeError: Cannot read property 'public' of undefined

4

6 回答 6

11

查看您的 firebase.json 文件,该文件应该在您正在运行的目录中firebase serve。它应该看起来像这样

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

如果它没有该"hosting"密钥,那么您将收到该Cannot read property 'public' of undefined错误,因为firebase serve尝试访问.hosting.public.

于 2017-06-21T22:38:54.093 回答
8

我今天遇到了这个问题,我运行它,--debug发现我已经以sudo用户身份安装了 npm/node,运行如下:

firebase serve

给了我这个错误:

Error: An unexpected error has occurred.

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

sudo firebase serve --debug --only hosting,functions
于 2018-02-10T14:15:26.230 回答
3

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

2 ) 编辑 firebase.json 并写下这个:

{ 
 "hosting": {
"public": "public" 
}
}
于 2017-10-19T15:10:15.680 回答
1

这似乎是一个错误 - 理想情况下应该使用Firebase Init. 我已经在 Firebase 上记录了支持票,并会鼓励其他人也这样做。

于 2017-10-08T23:55:16.600 回答
0

我认为您可能不小心跳过了初始化步骤(我在第一次运行时做了同样的事情)

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

1) 火力基地初始化

2) 当提示您需要哪些服务时,请确保 Database AND Hosting 选项的标记突出显示为绿色(带有空格键的 Hosting 选项卡)。如果您不仔细观察,很容易只选择数据库并让它运行其配置并假设它配置了它下面的所有项目符号选项,因为标准输出信息不是很清楚。现在按 Enter

3) 像以前一样接受默认的数据库设置,当被问到“你想用什么作为你的公共目录?(公共)”时,按 Enter。

在这一点上,您应该很好地启动本地 Firebase Web 服务器......

4) 尝试“firebase serve”,按 Enter,您应该可以验证托管文件是从 /public 提供的

希望这可以帮助。祝你好运。

于 2017-12-04T14:00:52.077 回答
0

至于我的错误是(--debugattr)

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/firebase-tools/node_modules/@google-cloud/functions-emulator/logs'

所以解决方案是运行sudo

于 2018-07-10T14:09:10.870 回答