如何在go模块中使用内部软件包?

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

我正在项目中使用go模块。我在内部文件夹中共享了代码。

.
├── README.md
├── internal
│   └── shared
│       ├── request.go
│       └── request_test.go
└── web
    ├── README.md
    └── go
        └── src
            └── webservice
                ├── go.mod
                ├── go.sum
                └── main.go

使用go模块时,我无法从Web服务访问内部/共享。我收到以下错误:

package internal/shared is not in GOROOT (/usr/local/go/src/internal/shared)

在main.go中从webservice导入时:

import "internal/shared"

如何解决此问题?

go shared go-modules
1个回答
0
投票
这对我有用:

. ├── go.mod ├── go.sum ├── internal │   └── shared │   └── request.go │   └── web └── go └── src └── webservice └── main.go

并且在将go-module包导入到internal/shared中时,应该包括整个main.go路径。

因此,在main.go内部,导入应类似于import "$your-go-module/internal/shared"

有关内部软件包here的更多信息

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