【Gin】「Key “github.com/gin-gonic/contrib/sessions” does not exist 」というエラーになってしまう

Gin

エラー内容

Key "github.com/gin-gonic/contrib/sessions" does not exist
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go:266 (0x984a0b)
(*Context).MustGet: panic("Key \"" + key + "\" does not exist")
/go/pkg/mod/github.com/gin-gonic/contrib@v0.0.0-20201101042839-6a891bf89f19/sessions/sessions.go:146 (0x984921)
Default: return c.MustGet(DefaultKey).(Session)

原因

“github.com/gin-contrib/sessions”

“github.com/gin-gonic/contrib/sessions”
のimportが混在してしまっていたようです。

僕の場合、以下のstoreを作成しているファイルでは”github.com/gin-contrib/sessions”をインポートしており、

import (
	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/cookie"
	"github.com/gin-gonic/gin"
)

...

func router() *gin.Engine {
  r := gin.Default()
  store := cookie.NewStore([]byte("secret"))
  r.Use(sessions.Sessions("mysession", store))
}

sessionをsetするファイルでは”github.com/gin-contrib/sessions”をインポートしておりました。
どちらかに揃えればエラーは解消されるはずです。

なお、”github.com/gin-gonic/contrib/sessions”の場合は、以下のようにsessions.NewCookieStoreを使用します。

r := gin.Default()
store := sessions.NewCookieStore([]byte("secret"))
r.Use(sessions.Sessions("mysession", store))
この記事を書いた人
Tenma Endou

15歳からプログラミングを始め、現在は正社員+個人事業主でほぼ休まず労働
2018年に開発したアプリ「LIVLE」がTwitterで12000RTされる。(過去の栄光)
Flutter / Nuxt.js / Laravel / Go / React
お仕事依頼はこちらから⇢engineer@tepci.me

Tenma Endouをフォローする
GinGo言語
Tenma Endouをフォローする
目に優しいエンジニアブログ

コメント

タイトルとURLをコピーしました