🔎

【Mac】Cloud Functionsをzipアップロードで作成した時のエラー

2024/01/22に公開

Cloud Functionsで関数を作ろうとした時、なぜか「main.pyファイルが存在しない」というエラーが出てしまった。

しばらくハマったのでその対処法メモです。

原因: Macの「"XXX"を圧縮」でエラーがでる

Macの「"XXX"を圧縮」でzipファイルを作ると、どうやら特定の隠しファイルが含まれてしまう可能性があり、これが問題の原因となる可能性があるとのことでした。

Build failed: missing main.py and GOOGLE_FUNCTION_SOURCE not specified. Either create the function in main.py or specify GOOGLE_FUNCTION_SOURCE to point to the file that contains the function

対処法: コマンドでzipファイルを作成する

zipファイルに指定ファイルのみを含むために、下記のようなコマンドでzipを作成する必要があったようです。

$ zip -r function-source.zip main.py requirements.txt
  • zip: ZIPファイルを作成するためのコマンド。
  • -r: 再帰的にディレクトリを圧縮するためのオプション。これ指定したディレクトリやファイル全てがZIPファイルに含まれます。
  • function-source.zip: 作成するZIPファイルの名前です。
  • main.py requirements.txt: ZIPファイルに含めたいファイルやディレクトリの名前です。
zip -r generate-thumbnail.zip firebase-adminsdk.json source main.py requirements.txt

参考

https://stackoverflow.com/questions/67422201/google-cloud-functions-missing-main-py

Discussion