GO言語 Revelアプリケーション実行時にPanicエラーが出る際の解決策

GO言語でRevelフレームワークを試してみようと思い、

以下のRevelのチュートリアルを試してみました。

https://revel.github.io/tutorial/gettingstarted.html

すると、panic: runtime error: invalid memory address or nil pointer dereference

のエラーが出てしまい、調べて色々試してもなかなか解決せず、

試行錯誤の末、なんとか解決した(実行はとりあえずできた)ので、

備忘録で残しておきます。

チュートリアルでのエラー

上記チュートリアルの手順を行い、

revelのインストールやらMercurialのインストールやらを行いましたが、

revel new -a myapp

の実行で以下のエラーが発生してしまいました。

Parsing packages, (may require download if not cached)...panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x33792af]

これに関して以下について見直しましたが解決せず、、、。

  • GOPATH
  • GOROOT
  • revelのバージョン
  • GO言語のバージョン
  • revelのインストール先

解決策

色々試したため、もしかしたら間違えている可能性もありますが、

おそらくは以下の実行で解消します。

go install github.com/revel/revel@latest

上記はチュートリアルに載っていないので、試してみてください。

前提として、GOPATHの設定は必要です。(以下で説明します)

GOPATHについても理解を進めているところですが、macOSで言えば以下のコードを~/.zshrcファイルに追加し、

export GOPATH={ワークスペース}
export PATH=$PATH:$GOPATH/bin

以下のコードを実行します。

Source ~/.zshrc

GOPATHはデフォルトでは「~/go」が設定されるようです。

デフォルトでよければそのままで良いかもしれませんが、

任意の場所に設定することができます。

(勉強中ですが、GOPATHはパッケージを置く場所のようなので、デフォルトのままでも良さそう?

アプリはGOPATHでなくても作成できそう、。)

以上です。

PS. Revelのアプリ作成で同じエラーに遭遇している人が見当たらなかったのですが、

みんな自分で解決できているんですかね、、?

SNSでもご購読できます。

コメントを残す

*