簡體   English   中英

Firebase 部署:錯誤:無法檢測函數語言

[英]Firebase Deploy: Error: Could not detect language for functions at

我正在嘗試部署我的 firebase 項目,但出現以下錯誤:

=== 正在部署到“我的項目”...

部署 firestore、功能、托管

cloud.firestore:正在檢查 firestore.rules 是否存在編譯錯誤...

[W] undefined:undefined - 規則集使用舊版本(版本 [1])。 請更新到最新版本(版本[2])。

cloud.firestore: 規則文件 firestore.rules 編譯成功

錯誤:無法檢測函數的語言

有什么想法嗎?

就我而言,我錯過了 init 函數:

firebase init functions

文件

我不知道你的代碼還有什么問題,但我也有一個看起來像這個部分的錯誤:

[W] undefined:undefined - Ruleset uses old version (version [1]). Please update to the latest version (version [2]).

您的一些 firebase 規則是使用版本 1 編寫的。您可能需要進入並添加

rules_version = '2';

到您的 Firebase 規則集的頂部,專門用於 Firebase Firestore。 您可以在 firebase 控制台或項目中的firestore.rules中執行此操作 - 這可能是您項目中新生成的文件。

就我而言,我使用firebase deploy --only hosting命令

請將您的規則更新到版本 2,如錯誤消息所述。

對於任何最終來到這里的人。 我在 1 年多以前設置了 firebase static 托管,當時托管是一項“功能”。 從那時起,托管現在是一種獨立於功能的獨特產品。

您需要將之前的“默認”function(“曾經”托管)轉換為托管產品。

  1. 刪除(或編輯)firebase.json 在您的 firebase 項目的根目錄中。
  2. Firebase init hosting -> 這將創建一個新的“公共”文件夾。
  3. 復制您以前的函數/公用文件夾以覆蓋新的。
  4. 完全刪除以前的功能文件夾。

現在托管已修復,您可以再次部署。

  1. Firebase init functions -> 這將創建一個新的函數文件夾,以及所有樣板文件 json 和 .js 文件。

我遇到的問題是 functions 文件夾在 functions 目錄中有托管和函數相互踩踏。 “今天”過程將托管完全放在一個單獨的文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM