serverless offlineを使うには自分でnodeのバージョンを制限しないといけない
lambdaのruntimeがnodejs 12,14とかが選べるわけだが、serverless offlineでは普通にnodeのサブプロセスとして動かすので、プロジェクトのnodeのバージョンが同じでないと破綻する
気持ち悪いのが、graphqlとかリクエスト飛ばしてもなんも返事しない
ちゃんとログ見てなかったから、もしかしたら怒られてたかも
いや、全然ログでなくて分からん
useDockerというオプションがある
lambdaを模倣するサブプロセスをdockerでやるよというもの
エラーが出た
これ見て!というログが出た
https://github.com/lambci/docker-lambda/issues/329
dockerで動かす際に、docker-lambdaというこいつに依存してて、こいつがnode14をサポートしてない
serverless offline側
https://github.com/dherault/serverless-offline/issues/1262
https://github.com/dherault/serverless-offline/pull/1274
そもそもawsがimage出してるので、それ使えばよくねというやつ
これを待つとよい
https://aws.amazon.com/jp/blogs/compute/node-js-14-x-runtime-now-available-in-aws-lambda/
2021/2
そもそもaws lambdaでnode14が使えるようになったのが最近
AWSが出してるdocker image
https://hub.docker.com/r/amazon/aws-lambda-nodejs