こんにちは。KOUKIです。
Go言語 ❌ AWSの開発業務に従事しています。
開発環境はMacPC上で行っており、そこでLambda関数用のプログラムを作成しLambda上で実行した時に、表題のエラーが出ました。
1 |
fork/exec /var/task/XX: exec format error: PathError |
本記事では、このエラーの解決方法を記事にしています。
結論
プログラムのビルド時に「GOOS=linux」の指定をしていませんでした。
1 2 3 4 5 |
# 誤 go build main.go # 正 GOOS=linux go build main.go |
GOOSはクロスコンパイ時に必要になるものです。当然ですが、Mac上でビルドしたプログラムは、WindowsやLinux上で動かすことができません。
Lambdaの実行環境のベースはLinuxなので、このビルドに問題があったようです。
そこで、GOOSをLinuxを指定することで、この問題を解決することができました^^
おわりに
念願だったAWS上での開発ができるようになったのですが、まだまだわからないことばかりで、日々勉強です^^;
しかし、スキルは上がっている実感はあるので、ガンガン経験を積み、市場価値の高いエンジニアになりたいと思います!
それでは、また!
コメントを残す
コメントを投稿するにはログインしてください。