Go 1.12模块:非本地导入中的本地导入

Hig*_*ana 2 go

我目前正在使用 Go 1.12 模块,并且对导入感到非常厌倦。

我正在使用 gin(网络微服务)和 gorm(golang orm)制作rest-api。在 golang 模块中工作时一切仍然正常。但在导入本地包时遇到麻烦

目录树:

项目树

go.mod:

module github.com/Aragami1408/go-gorm

go 1.12

require (
    github.com/gin-gonic/gin v1.4.0
    github.com/jinzhu/gorm v1.9.9
    github.com/lib/pq v1.1.1
    github.com/satori/go.uuid v1.2.0
)

Run Code Online (Sandbox Code Playgroud)

db.go:

module github.com/Aragami1408/go-gorm

go 1.12

require (
    github.com/gin-gonic/gin v1.4.0
    github.com/jinzhu/gorm v1.9.9
    github.com/lib/pq v1.1.1
    github.com/satori/go.uuid v1.2.0
)

Run Code Online (Sandbox Code Playgroud)

任务.go:

package db

//code below...
Run Code Online (Sandbox Code Playgroud)

但是当我运行时仍然出现此错误:

local import "../db" in non-local package

我在谷歌上搜索了很多,但没有任何帮助

Von*_*onC 5

来自“模块是否可以与相对导入一起使用,例如导入“./subdir”?

在模块中,最终有一个子目录的名称。

如果父目录显示“ module m”,则子目录将导入为“ m/subdir”,而不是“ ./subdir”。

在你的情况下:

import "github.com/Aragami1408/go-gorm/db"
# or maybe
import "go-gorm/db"
Run Code Online (Sandbox Code Playgroud)

正如Silvio Lucas在下面评论的那样,这假设您set GO111MODULE=on