【问题标题】:Firebase deploy gives numerous errorsFirebase 部署给出了许多错误
【发布时间】:2016-02-14 08:48:16
【问题描述】:

注意:我是编码新手。

我有一个 Divshot 应用,现在我必须迁移到 Firebase。它包含两个 HTML 文件、一个样式表和一个本地 jpg 文件。没有 JavaScript。这是超级基本的。我知道。

我已按照 CLI 说明完成了 Firebase 教程。 (不确定我为什么要构建一个随机聊天应用程序。)我还尝试了 --help 命令及其建议。

“firebase.json”文件已在我的应用程序目录中创建,标记为“public”的文件夹也已创建。我将 html 文档、样式表和 jpg 移到“public”文件夹中,因为 CLI 告诉我必须在 public 目录中至少有一个文件。它应该是一个 zip 文件吗?

然后我又试了一次,被告知

"公共目录不包含 index.html"

虽然确实如此。

我还在每个 html 文档的标题中添加了 firebase 脚本。不确定这是否正确。

我的应用程序都是静态的,对吧?我只希望我的 firebase URL 使用样式表中的样式规则显示我的 HTML 页面的内容。我该怎么做/我错过了什么?

我得到的一些错误,按顺序:

错误:公共目录中必须至少有一个文件才能部署。

(将文件移动到“公共”目录)

错误:不在 Firebase 应用目录中(找不到 firebase.json)

(想知道为什么,因为它就在那里)

错误:指定的公共目录不存在,无法部署主机

(这样的谎言)

【问题讨论】:

  • 您好 - 您能分享一下您的 firebase.json 配置文件的内容吗?此文件指定哪个文件夹是“公共”目录。我们需要确保它与您放置文件的目录的名称匹配。

标签: firebase firebase-hosting


【解决方案1】:

对我来说,我在部署时遇到了同样的问题,但出现了这个错误:

Error: Specified public directory does not exist, can't deploy hosting  

我在 firebase 项目根目录的终端中运行此代码:

纱线构建

有效!

【讨论】:

  • 它起作用了..但我不明白为什么..它看起来像纱线只执行:ng build
【解决方案2】:

公共目录不是您当前所在的目录,而是您在询问时指定的目录
What do you want to use as your public directory?
使用firebase init 完成初始化后,您的当前目录应包含两个文件 firebase.json.firebaserc 和一个文件夹,该文件夹是您的 index.html 文件所在的公共目录应该是。只有这样您才能使用firebase deploy 部署您的站点。
如果满足上述所有条件并且您的当前目录不是公共目录,请从控制台共享您的调试日志。

【讨论】:

    【解决方案3】:

    我通过将 firebase.json 文件的公共目录更新为“/”解决了这个问题

    托管:{ 民众: ”/” ...

    我必须确保 firebase.json 文件与其他文件 (index.html. ... ) 位于同一位置

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题(角度问题)并通过运行 npm run-script build 然后再次运行 firebase deploy 解决了。

      【讨论】:

        【解决方案5】:

        firebase.json 我做了一个(角度)“dist/”

        {
          "hosting": {
            "public": "dist/",
            "ignore": [
              "firebase.json",
              "**/.*",
              "**/node_modules/**"
            ],
            "rewrites": [
              {
                "source": "**",
                "destination": "/index.html"
              }
            ]
          }
        }

        【讨论】:

          【解决方案6】:

          我遇到了同样的问题,但我通过在 src 文件夹中创建另一个名为“dist”的临时文件夹解决了这个问题,并复制了原始 dist 文件夹中的所有文件并运行了“firebase deploy”,它成功了! 然后我在部署后删除了临时文件夹“dist”。

          【讨论】:

            【解决方案7】:

            意味着它找不到名为“public”的文件夹。我将 firebase.json 和 .firebaserc 文件移到一个文件夹中并从那里运行部署。还将 .json 文件中的“public”元素更改为我的项目文件夹名称。

            【讨论】:

              【解决方案8】:

              用于消除 Firebase 托管部署错误(如果您要更新现有托管站点) 你可以再做一次 1]firebase login 2]firebase init 3]firebase deploy

              确保您当前的文件夹有两个东西: 公共文件夹(其中包含所有网站文件,如 css 图像等,包括 index.html)和 firebase.json 文件

              【讨论】:

                【解决方案9】:

                尝试ng build --prod,然后尝试firebase deploy

                如果您使用的是 Github-auto-deploy: 将 "public": "dist/X", 放入您的 firebase.json 其中 X=您的项目名称

                【讨论】:

                  【解决方案10】:

                  我通过将 firebase.json 文件的公共目录更新为“/”解决了这个问题

                  托管:{公共:“/”...

                  是的,它成功了!

                  【讨论】:

                    猜你喜欢
                    • 2023-03-23
                    • 2023-03-08
                    • 2022-01-09
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-01-04
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多