GAE/GoにEchoを導入しようとしてハマった件について。
結局、最新バージョンのEchoV3(2018/3/20当時の最新)はGAE環境で動かせませんでした…
妥協してV2では動かすことができたので、同じ様にハマっている方の参考になれば。
EchoのバージョンV3だと動かない?
最新のEchoのV3でセットアップを始めました。
公式のマニュアルを参考にセットアップを行いました。
ですが、下記のようなエラーが。
2018/03/16 18:56:06 go-app-builder: Failed parsing input: parser: bad import “unsafe” in github.com/json-iterator/go/adapter.go from GOPATH
GAEでは、unsafeパッケージをインポートしちゃダメってことのようですが、Echoが参照しているライブラリでインポートしているんですよね。
色々試してみましたが、解決せず。
諦めて、情報が豊富なV2で試してみることに。
EchoのV2でセットアップ
V2だと無事にセットアップ出来ました!
下記のQiitaの記事の通りに進めれば無事にセットアップ出来ます。
補足するとしたら、Echoのバージョンの切替方法でしょうか。
バージョンの切り替えは、go getでEchoを取得しているとGitリポジトリになっているので、Gitの操作でバージョンを切り替える事ができます。
Echoのディレクトリで、下記のコマンドでV2のブランチに切り替え。
git checkout V2
依存関係でエラーが出るので、下記のモジュールをクローンします。
https://github.com/rs/cors
これで無事に動きました。
まとめ:本当はV3が使いたい
一応動くようにはなりましたが、バージョンを下げて対応という結果でした。
これって、V3の開発が進めば解決するんですかね。
もしくは、単なる僕のミスでV3でもちゃんとセットアップできたりして…
GAE/Go/EchoV3でセットアップできた方がいれば教えていただきたいです。
追記
kashitakaさんよりコメントを頂きました、別のフレームワークのGinを使うという選択肢もありですね。
無理してEchoの古いバージョンを使うよりGinの最新版を使った方が良さそうです。
kashitakaさん、貴重な情報ありがとうございました。