【GAE/GO】Echo V3はGAE未対応?V2なら動く!

※2018/3/20時点で最新のEchoのバージョンV3で動かせなかった事象です。
その後、V4がリリースされているので最新版のEchoでは本記事の問題は解決しているかもしれません。(未確認)

GAE/GoEchoを導入しようとしてハマった件について

結局、最新バージョンのEchoV3(2018/3/20当時の最新)はGAE環境で動かせませんでした…

妥協してV2では動かすことが出来たので、同じ様にハマっている方の参考になればと記事にしてみます。

目次

EchoのバージョンV3だと動かない?

最新のEchoV3でセットアップを始めました。

公式のマニュアルを参考にセットアップを行いました。
公式マニュアル

ですが、下記のようなエラーが。

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の記事の通りに進めれば無事にセットアップ出来ます。

Go製のフレームワークechoを使ってJSONを返すWebサーバーを作り、GoogleAppEngineで動かす

補足するとしたら、Echoのバージョンの切替方法でしょうか。

バージョンの切り替えは、go getEchoを取得しているとGitリポジトリになっているので、Gitの操作でバージョンを切り替える事ができます。

Echoのディレクトリで、下記のコマンドでV2のブランチに切り替え。

git checkout V2

依存関係でエラーが出るので、下記のモジュールをクローンします。

https://github.com/rs/cors

これで無事に動きました。

まとめ:本当はV3が使いたい

一応動くようにはなりましたが、バージョンを下げて対応という結果でした。

これって、V3の開発が進めば解決するんですかね?

もしくは、単なる僕のミスでV3でもちゃんとセットアップ出来たりして…

GAE/Go/EchoV3でセットアップ出来た方がいれば教えていただきたいです。

追記

kashitakaさんよりコメントを頂きました、別のフレームワークのGinを使うという選択肢もありですね!

無理してEchoの古いバージョンを使うよりGinの最新版を使った方が良さそうです。

kashitakaさん、貴重な情報ありがとうございました!

※2018/3/20時点で最新のEchoのバージョンV3で動かせなかった事象です。
その後、V4がリリースされているので最新版のEchoでは本記事の問題は解決しているかもしれません。(未確認)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次