GO

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

投稿日:2018年3月20日 更新日:

※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では本記事の問題は解決しているかもしれません。(未確認)

スポンサーリンク


-GO

執筆者:

関連記事

【Go】JSONのパースが失敗する原因

Go言語で、JSONをパースする際に躓きましたので原因をまとめておきます。 json.UnmarshalでJSONパースする際のハマったポイントです。 スポンサーリンク 目次マッピングのミス型の不一致 …

GAE/GOの開発環境セットアップ方法

Go言語でGAEを開発する環境のセットアップ手順についてのメモです。 GoのインストールからGAEへのデプロイまで一通り実施します! 基本的には、公式のチュートリアル通りにやっていけばOKなんですけど …

プロフィール

このサイトを運営しているDENです。
アングラーのフリープログラマー。 主にプログラミングと釣の話を発信しています。
プログラミングで自由になり思う存分に釣りをしまくる生活実践中。
詳しいプロフィールはこちら 
フォスターフリーランス