如何在安装Firebase功能模拟器后卸载"firebase init"



我在firebase init > emulators的项目中安装了Firebase函数和Firestore模拟器,但现在意识到我不再需要函数模拟器了,所以我试图删除它。

如何卸载模拟器,使firebase emulators:start命令在默认情况下不会尝试启动它?

我尝试了以下操作,但firebase init > emulators继续显示函数模拟器仍处于启用状态(绿点(,并且如果我不包括--only firestore标志,则默认情况下firebase emulators:start继续启动函数模拟器。

  • 我重新运行firebase init > emulators并取消选择函数
    • 这没有任何作用
  • 我手动删除了firebase.json中的条目
    "emulators": {
    "functions": { // <-- I removed this block
    "port": 5001
    },
    "firestore": {
    "port": 8080
    },
    "ui": {
    "enabled": true
    }
    }
    
  • 我从~/.cache/firebase/emulators中清除了模拟器缓存
  • 我从firebase.json中删除了functions块,只是想看看这是否触发了它。
    {
    "functions": { // <-- I removed this block
    "predeploy": [
    "npm --prefix "$RESOURCE_DIR" run clean",
    "npm --prefix "$RESOURCE_DIR" run lint",
    "npm --prefix "$RESOURCE_DIR" run build"
    ],
    "source": "functions"
    },
    "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
    },
    "emulators": {
    "firestore": {
    "port": 8080
    },
    "ui": {
    "enabled": true
    }
    }
    }
    

在完成上述所有操作后,firebase emulators:start仍然尝试启动函数。我想知道这是否是因为firestore模拟器依赖于函数模拟器,但如果是这样的话,我不知道为什么它会让我用--only firestore单独运行firestore模拟器

在我的案例中,我从node_modules中删除了Function目录,也从firebase.json中删除了functions块。

我只是再次运行npm安装firebase就修复了它。

如果你不想在你的项目中使用云函数,你应该删除"函数";文件夹。

此外,建议您在firebase工具GitHub上为此提交一个bug。在firebase.json中,函数模拟器在没有配置的情况下运行,这感觉像是一个bug,而且它以前不这样工作。

最新更新