在我的主函数中,我使用了GO框架 echo 来创建一个Logger和Recover
func main() {
db := initDB("storage.db")
migrate(db)
e := echo.New()
-> e.Use(middleware.Logger())
-> e.Use(middleware.Recover())
e.File("/", "public/index.html")
e.GET("/tasks", handlers.GetTasks(db))
e.PUT("/tasks", handlers.PutTask(db))
e.DELETE("/tasks/:id", handlers.DeleteTask(db))
e.Logger.Fatal(e.Start(":1323"))
}
但是,显示了2个错误,说明:
cannot use middleware.Recover() (value of type "github.com/labstack/echo".MiddlewareFunc) as "github.com/labstack/echo/v4".MiddlewareFunc value in argument to e.Use
记录器也是如此.
我已try 删除并重新安装Echo Via go get ...
,并重新配置go.mod
文件,但错误仍然存在.
import (
"database/sql"
"github.com/Alfred-Jijo/go-vue-echo/handlers"
"github.com/labstack/echo/middleware"
"github.com/labstack/echo/v4"
_ "github.com/mattn/go-sqlite3"
)
我的进口基本上从一开始就没有变化.
我怀疑我的go.mod
文件中有一个错误,但我太新了,不能理解它.
require github.com/labstack/echo/v4 v4.11.3
require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
github.com/labstack/echo v3.3.10+incompatible
github.com/labstack/gommon v0.4.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-sqlite3 v1.14.18
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect
golang.org/x/crypto v0.15.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.14.0 // indirect
golang.org/x/text v0.14.0 // indirect
)
我也try 重新构建项目,但同样的错误仍然存在.