是空

駆け出しエンジニアが学んだことをまとめていくブログ

Cloud functions emulatorを公式ドキュメントに沿ってYarnでインストールしたのにできなかった話

ドキュメントには、「エミュレータを使用するには、現在では 6.11.1 以上の Node.js が必要です。」と注意書きがされているにも関わらず、Node.js v8.10.0で

yarn global add @google-cloud/functions-emulator

とすると、

Expected version "~6".

と、「君のnodeは6以下じゃないからダメだよ、入らないよ」と怒られるのでなんでやねん!となっていました。

が、公式のgithubにissueが上がっていて、解決策を見つけられました。

Cannot install functions emulator · Issue #267 · googlearchive/cloud-functions-emulator · GitHub

yarn global add @google-cloud/functions-emulator --ignore-engines

で、インストールできました!

Thanks!!


エラー自体の回避方法

どうやら、依存関係にあるライブラリの中に6以下じゃないと入らないものが含まれていて、それが引っかかっている様子。

このエラー自体を回避したい場合は、大人しく指示に沿って6以下のNode.jsでインストールするのが良いかと思います。

また、issueにもある通り、何かの折に--ignore-enginesフラグを求められることもないので、安全策を講じる方が効率も良さそうです。

公式Doc:https://cloud.google.com/functions/docs/emulator?hl=ja

【19.9.23 追記】cloud-functions-emulatorは現在アーカイブされてます

公式のgithubにて2019年5月16日に作成されたissueによると functions-framework という新しいツールの利用を推奨しています。

詳細はこちらの記事にて

Google Cloud Functionsをローカルで実行する