go - 无法从并行目录同步 Go 包

标签 go go-modules

这在 Go 1.14.2 中应该是一件简单的事情,但由于某种原因它不是。我有以下项目布局......

go
└── src
│   └── github.com
│   │   └── folder
│   │   │   ├── my-first-project
│   │   │   └── my-second-project

my-second-project的主文件中我的导入语句包含常用的库,另外...
import (
    // standard libraries
    "github.com/folder/my-first-project/module/sub-module"
)

当我尝试同步以便可以导入该子模块时,Go 会尝试从 GitHub 下载它而不是查看本地文件夹,这意味着它无法找到该项目。但是,我的 GOPATH设置为 go 文件夹和 my-second-project 中的 go.mod 文件开始于...
module github.com/folder/my-second_project

......所以我无法弄清楚我可能会错过什么让这个导入变得如此困难。我使用的是完全合格的引用资料,但由于某种原因,我无法让两个项目并存以相互交谈。我会很感激任何建议。

最佳答案

使用模块时,Go 不会查看 GOPATH .模块使用模块的只读缓存,因此每次构建时都不需要下载它们。

如果您正在开发尚未发布的模块,您可以使用 replace指令指向另一个依赖项所在的本地目录。

How to declare golang dependency versions best in go.mod?有关何时使用 replace 的更多信息.

关于go - 无法从并行目录同步 Go 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62096428/

相关文章:

image - 格式无效 : not a PNG file

使用范围从模板构建时,Go 无法评估字段

go - 意外的模块路径 go-modules

Go Modules 无法识别 GOPATH 下的文件

go - 如何使用 Go 模块修复 Go build error "can' t load package"?

go - go 如何知道从哪里获取包

http - 如何将 http.HandleFunc 与 slugs 一起使用

go - 我可以根据我正在构建的操作系统导入 Golang 包吗?

mongodb - 如何在 golang mgo.v2 库中使用 MongoDB 获取聚合管道结果

Go Modules - 目录和包的命名约定