created: 2023-10-02T03:24:51.406Z

[firebase] Error: codebase source must be specified

firebase function を使う場合は、デフォルトで functions ディレクトリにソースコードを置くことになっている。 firebase.json とか、.firebaserc とかのファイルを package.json とか tsconfig.json と同じディレクトリ階層に置きたかったので、ためしに functions ディレクトリを勝手になくしてみたところ、firebase deploy とかやるときに当然エラーが出てしまった。

Error: codebase source must be specified

勝手にやるのはダメで、ちゃんと設定を変更してやらないといけなかった。

--- a/bot/firebase.json
+++ b/bot/firebase.json
@@ -1,8 +1,8 @@
 {
   "functions": {
+    "source": ".",
     "predeploy": [
-      "npm --prefix \"$RESOURCE_DIR\" run build"
+      "npm run build"
     ]
   }
 }

変更点

  • "source": "." でカレンとディレクトリが functions のためのディレクトリになる
  • $RESOURCE_DIR 変数を使う必要がなくなったので削除

参考

基礎からの新しいストレージ入門 基本技術から設計・運用管理の実践まで
[ad] 基礎からの新しいストレージ入門 基本技術から設計・運用管理の実践まで
坂下 幸徳 (単行本)