あらかじめ、ウェブ上の firebase コンソールからプロジェクトを作ってるとします。
Firebase CLI 設定と接続
ローカルのグローバル領域にインストール
npm install -g firebase-tools
Firebase ログイン
firebase login
初期化
プロジェクトのディレクトリへ移動してから init する
cd プロジェクトのディレクトリ
firebase init functions
Please select an option
? Please select an option:
> Use an existing project
Create a new project
Add Firebase to an existing Google Cloud Platform project
Don't set up a default project
今回は firebase のプロジェクトをウェブ上で作成していたので Use an existing project を選択。選択すると
? Select a default Firebase project for this directory: (Use arrow keys)
プロジェクトの一覧が出てくるので選ぶ
What language would you like to use to write Cloud Functions?
? What language would you like to use to write Cloud Functions? (Use arrow keys)
> JavaScript
TypeScript
Typescript を使うかどうか。そんなに大きいものじゃないなら Javascript でもよいと思います。
Do you want to use ESLint to catch probable bugs and enforce style?
有効にするとエラーなどを事前に教えてくれます。任意で。
Do you want to install dependencies with npm now? (Y/n)
依存ライブラリをインストールするかどうか。なんとなく yarn で入れたかったので no にしましたが、こちらも任意で。
Firebase initialization complete! が出れば終わりです。
依存関係のダウンロード
先ほど最後の質問を no にしたので自分で入れます。functions/
ディレクトリに package.json があるので、移動してから実行します。
cd functions/
yarn
エラー
yarn 実行時に下記のエラーが発生
terror functions@: The engine "node" is incompatible with this module. Expected version "10". Got "12.18.3"
error Found incompatible module.
cloud functions で使おうとしている node のバージョンが 10 なのに、12.18.3 になってるよと言われました。
functions/package.json
のengines
に node のバージョンが書かれています。自分の環境の node のバージョンを下げても良いですが、(2020/9現在)12 がベータ 版で使えるらしいので、変更しました。
"engines": {
- "node": "10"
+ "node": "12"
},
これで改めてyarn
を実行、無事終わりました。