如何从Firebase中删除托管的网站

146

我在firebase上有一个托管的网站,但现在我不再使用它了。我仍然想保留这个项目,但想删除托管的网站。是否有任何方法可以做到这一点,还是我只需要上传一个空目录。在用户界面中似乎没有这个选项。


14
你可以在命令行中输入 firebase hosting:disable 来禁用 Firebase Hosting。 - Michael Bleigh
3
那会禁用最近的一次部署,但我有一长串旧的部署需要清理掉。 - dpix
如何在此之后重新启用?Firebase托管:启用? - djalmafreestyler
3
禁用其他目标/站点的方法:firebase hosting:disable --site <站点名称>。目标语法通常是 hosting:<目标>,但在使用 :disable 命令时我找不到指定目标的方法。 - maganap
11个回答

259

可以删除它。

  1. 首先通过firebase-tools CLI 运行 firebase hosting:disable 命令。
  2. 进入 Firebase 控制台并在左侧菜单中选择 Hosting 选项卡。
  3. 您将看到已部署项目的历史操作列表,例如 Deployed, disabled等。
  4. 只有在禁用站点之后,"三个垂直点" 菜单才会可用,并能够选择删除部署操作。

5
这个方案似乎有一些投票支持,但我无法再测试它是否可行。我刚刚将账单更改为免费版本,所以不再需要向谷歌支付每月 0.02 美元的费用。如果有人能够确认这对他们有效,我会接受它作为正确答案。 - dpix
2
确认,状态更改为已删除。当我在同一页的使用选项卡中查看时,我的存储大小会在几分钟后下降。 - Nayfin
2
记录一下,运行 firebase hosting:disable 不会 删除或禁用 Firebase functions。我没有找到任何文档,只能自己试。 - philshem
有没有办法禁用多个网站?firebase hosting:disable似乎只能禁用Firebase项目的主要网站。 - aaronvargas
这就是我一直在等待的东西:)谢谢伙计。 - Himanshu Singh Chauhan

29

如果您在同一项目中托管了多个站点,则使用 -s 标志指定您要禁用的站点。

firebase hosting:disable -s yoursitename

11

您不需要上传空目录。

只需打开您的项目根目录并输入以下命令

firebase hosting:disable

命令行界面响应:

$ firebase hosting:disable
? Are you sure you want to disable Firebase Hosting for the site xyz
This will immediately make your site inaccessible! Yes
✔  Hosting has been disabled for xyz. Deploy a new version 
to re-enable.

这将立即禁用运行的网站,并在发布历史记录中添加已禁用状态。 在Firebase CLI版本9.20.0上进行了测试。


8

[更新]

对于托管在多个站点上的情况,请使用以下命令:

firebase hosting:disable --project yoursitename

对我有效!你能试试吗?


6

这里有一些步骤,可能有点难找:

  1. 进入你的项目的Firebase Hosting 控制台,你会看到你的域名。
  2. 将鼠标悬停在你的域名上。右侧有一个溢出菜单(三个竖点)。
  3. 从溢出菜单中选择删除域名

2
这将删除域名,但不会删除实际部署的网站。它仍然占用着谷歌云上的空间。 - dpix
6
无法使用,溢出菜单不会出现。 - Aakash Jain
1
我刚刚检查了一下,溢出菜单对我来说仍然存在。如果您在使用过程中遇到问题,请联系 Firebase 支持团队获取个性化的故障排除帮助。 - Frank van Puffelen
对我也有效!但是能够通过CLI删除一堆东西会很好。 - TheBen
2
我执行了 firebase hosting:disable 命令,返回信息为 Hosting has been disabled。然后在控制台中删除了部署。但是我仍然可以访问该应用程序。哎呀,那只是我的浏览器缓存。现在已经删除了。 - A.W.
显示剩余3条评论

4

手动删除

您可以轻松地进入控制台,单击3个垂直点并删除网站。

输入图像描述

使用CLI

仅禁用

停止为活动Firebase项目提供Firebase Hosting流量。

运行此命令后,您的项目的Hosting URL将显示“网站未找到”消息。

如果您想要禁用,则可以使用其他答案中提到的此命令:

firebase hosting:disable

如果您正在使用多个站点,您需要指定项目名称:
firebase hosting:disable --project yoursitename

永久删除

删除指定的托管网站。

删除网站是一项永久性操作。如果您删除网站,Firebase 将不会维护已部署文件或部署历史记录,并且该网站无法由您或其他任何人重新激活。

(可选) 通过传递以下标志 -f 或 --force 跳过确认提示。

要删除此网站(类似于在控制台中手动删除),请运行此命令:

firebase hosting:sites:delete yoursitename -f 

使用-f时要小心,但如果将其作为脚本命令运行,则可能是必需的。


3
值得注意的是,您可以禁用默认托管站点,但不能删除它。命令行界面将输出以下错误信息:Error: HTTP Error: 400, Cannot delete default Hosting Site - Marc M.

4
你可以使用以下命令:
firebase hosting:disable -s <firebase_project_name>

请使用您的 Firebase 项目名称替换 <firebase_project_name>。这将允许您取消订阅当前项目并将其置于禁用模式,您将无法从已发布的网页接收流量。当您想要重新启用它时,可以在可视化平台上执行该操作。我附上一张图片以供参考。

你的回答中“-s”之间有一个额外的空格。但是,是的,“-s”可以让你指定要从Firebase托管中禁用的站点:disable。 - sjcaged

2
我花了太多时间在这上面,但希望能有所帮助。我使用firebase deploy部署了我的东西,但是我无法在firebase控制台上看到它。当我尝试使用firebase hosting:disable时,我收到了这个错误:Error: HTTP Error: 400, Invalid project ID specified. 以下步骤帮助我删除了我的项目。
  • 要查找项目,您必须获取firebase deploy的输出,其中将包含一个类似于此的控制台网址:Project Console: https://console.firebase.google.com/project/<your-project-id>/overview

  • 按照此链接并进入项目设置。您应该能够在那里删除您的项目。


1

我不得不花费几个小时在 Firebase 托管上删除默认网站。

我找到的方法是:

在终端中输入“firebase init database”。它会初始化所有网站,包括默认网站,以便您可以设置一个新的网站。

希望这能帮到你。


-4

目前还没有一种适当的方法来批量删除项目中所有先前的部署。

但是,您可以做的最好的事情是清空 Firebase 托管文件夹,然后使用 firebase deploy 进行部署。

这个选项已经被提出作为 Firebase 的一个功能请求。让我们希望它很快能够得到实现 :)


2
您不能清空托管文件夹。Firebase部署抱怨index.html不存在。如果您完全删除该文件夹,控制台甚至不会尝试部署托管。您唯一的选择是创建一个空的index.html文件并基本上部署一个框架项目。这并不理想。 - Javid Jamae

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接