导入损坏 - 在子目录中找不到包

问题描述 投票:0回答:1

目录结构:

src
    go.mod
    lib/migrate
        migrate.go
        /driver/source
            local.go

我正在尝试将

local
导入到
migrate.go
中,如下所示:

package migrate

import (
    local "app/lib/migrate/driver/source/local"
)

type Migrate struct {
}

我收到此错误:

could not import app/lib/migrate/driver/source/local (no required module provides package "app/lib/migrate/driver/source/local")

我检查了以下项目:

  1. go.mod 声明
    module app
  2. local.go 声明
    package local
  3. go env -w GO111MODULE=on
go
1个回答
0
投票

为了得到你想要的,你有两个选择:

  1. 将导入
    local "app/lib/migrate/driver/source/local"
    替换为
    local "app/lib/migrate/driver/source"
  2. 创建一个名为 local 的文件夹(在源下包含本地包)并将
    local.go
    放入其中,并将导入替换为
    "app/lib/migrate/driver/source/local"
    ,(我不推荐这个!)

我建议始终使用文件夹名称作为包名称,在您的情况下导入

"app/lib/migrate/driver/source"
并使用
source
获取
local.go
导出的内容。

© www.soinside.com 2019 - 2024. All rights reserved.