概要
Serverless FrameworkやSAMやbuildしたものをそのまま上げてみるなどして、AWS LambdaにGoをデプロイするとどのケースでも以下のエラーがCloudWatchに出力されていた。筆者はM1 Macを使っていることで詰まった。
fork/exec /var/task/main: exec format error: PathError
null
解決策
一般的な解決法
go buildがなんかしらおかしいはずです。以下のようにgo buildはしましたか?
生成したバイナリのディレクトリ位置も確認してみたください。
$ GOOS=linux go build .
M1 Macユーザー
go build時にLambdaで指定しているアーキテクチャに合わせていますか?
デフォルトはx86_64のため設定を変更をしていなければ以下のようにamd64でbuildするようにする
$ GOARCH=amd64 GOOS=linux go build .