Go Mod Private Repo导入路径(找不到模块)

标签 go

我有这个私有(private) GIT 结构

github.com/my-company/project/webservices/service1

github.com/my-company/project/packages/stringslices

在service1包的main()中:

package main

import (
    slice "github.com/my-company/project/packages/stringslices"
)

func main() {
   data := []string{"a","b","c"}

    slice.SomeFunc(data)
}

当我尝试构建时出现此错误:

构建 github.com/my-company/project/webservices/service1: 找不到路径 github.com/my-company/project/packages/stringslices 的模块

我的项目在 GOPATH 之外 每个项目都有一个 go.mod 文件

我该如何解决这个问题?谢谢!

最佳答案

提供有关您的 go 版本 的更多信息可能是个好主意。 .就在几周前,我和你有同样的经历。 .在我拥有 1.11.5 之前,我通过将我的 go 版本 降级到版本 1.11.1 解决了这个问题,而且我检查了我有两个 go 安装在我的系统中 尝试使用命令 `which golang` 检查,我在 /usr/local/go 中安装了第一个 golang,这是我的我手动安装的 go 版本,另一个来自 pacman 包管理器,位于 usr/local/bin ...

EDIT :

哦,是的,我现在想起来如何解决我的问题了:

  1. 删除 go mod cache,我的在 ~/.cache 目录下,我不 知道你的。
  2. 立即尝试构建你的代码,在你的项目目录下,去 提前发布 go build

EDIT 2 :

我现在明白了,事实证明与我上面的任何答案都无关,只是现在我偶然发现了(再次)这个问题,打开你的 go.mod 文件并编辑第一个线到:

module full/path/some/apiOfYours 到 just module apiOfYours

关于Go Mod Private Repo导入路径(找不到模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54641499/

相关文章:

c - 如何将Go的[]byte转换为C的*uint8_t

go - 具有 channel 参数的函数中的死锁

amazon-web-services - 如何在Go AWS Lambda函数中访问参数

go - 测试 Go 语言时性能下降

go - go中赋值语句的LHS中的下划线

Golang Pgx池动态配置

sockets - http: 接受错误:接受 tcp [::]:9000: accept4: 打开的文件太多; 1s 重试

java - Go/Java中如何修改http请求中的ip地址

go - 该方法不应该明确地与接口(interface)的签名签约吗?

go - 是否可以根据现有引用创建 slice ?