Cloud Functions for Firebaseを使おうとした際にエラーが発生したので、解決策をまとめておきます。同じように困っている人が検索に引っ掛かればいいなと思って書きます。
結論
入力(コマンド)
firebase deploy
出力(エラー)
i deploying firestore, functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
> lint
> eslint .
/Users/nakamura/flutterInVscode/kanon_app/functions/index.js
10:8 error 'onRequest' is assigned a value but never used no-unused-vars
11:7 error 'logger' is assigned a value but never used no-unused-vars
✖ 2 problems (2 errors, 0 warnings)
Error: functions predeploy error: Command terminated with non-zero exit code 1
解決方法
your_app_name/functions/index.jsの以下のコードを、コメントアウト解除する。
exports.helloWorld = onRequest((request, response) => {
logger.info("Hello logs!", {structuredData: true});
response.send("Hello from Firebase!");
});
修正後のコード
index.js
/**
* Import function triggers from their respective submodules:
*
* const {onCall} = require("firebase-functions/v2/https");
* const {onDocumentWritten} = require("firebase-functions/v2/firestore");
*
* See a full list of supported triggers at https://firebase.google.com/docs/functions
*/
const {onRequest} = require("firebase-functions/v2/https");
const logger = require("firebase-functions/logger");
// Create and deploy your first functions
// https://firebase.google.com/docs/functions/get-started
exports.helloWorld = onRequest((request, response) => {
logger.info("Hello logs!", {structuredData: true});
response.send("Hello from Firebase!");
});
前提
- node v18.19.0
- macOS Monterey 12.3 M1
以下の記事に沿ってコマンドを入力しました。
実行したコマンド一覧
npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools
firebase login
firebase init firestore
firebase init functions
途中で発生した別のエラー
入力(コマンド)
npm install -g firebase-tools
出力(エラー)
npm ERR! Error: EACCES
(解決したのでエラー全文はどっか行きました...)
解決方法
以下の記事に沿って、npmを再インストールする。
自分の場合は、以下のコマンドを入力するとエラーが消えました。
nodeのバージョンを、21から18にする必要があったらしい。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm ls-remote
nvm install 18.19.0
nvm use 18.19.0
おわり
読んでいただきありがとうございました。エラー文を読めばすぐ解決できるであろうくそみたいなエラーですが、自分はめちゃくちゃ手こずってしまいました。
同じようにインストールで詰まっている人の助けになれば幸いです!