1 回答
TA贡献1744条经验 获得超4个赞
如命令的文档所述:go
GOPATH 环境变量列出了查找 Go 代码的位置。在 Unix 上,该值是一个以冒号分隔的字符串。在 Windows 上,该值是以分号分隔的字符串。在计划 9 上,该值是一个列表。
如果未设置环境变量,则 GOPATH 默认为用户主目录中名为“go”的子目录(Unix 上为 $HOME/go,Windows 上的 %USERPROFILE%\go),除非该目录包含 Go 发行版。运行“go env GOPATH”以查看当前的GOPATH。
因此,您引用的语法仅用于描述 GOPATH 中的项,正如我们所看到的,它可以是一个列表,而不仅仅是对单个路径的引用。$GOPATH[i]
让我们假设我的 Linux 机器上有以下内容:,并且我正在处理 .GOPATH
/home/me/go:/gofaster
/home/me/go/src/example.com/testing
最小模块兼容性规则会按顺序说,即。为了解决我的依赖关系,Go会检查:example.com/utils/v2
我在(即供应商目录)中没有软件包
/home/me/go/src/example.com/testing/vendor/example.com/utils/v2
我没有在 none 中或 (即检查两个 gopath) 中没有包。
/home/me/go/src/example.com/utils/v2
/gofaster/src/example.com/utils/v2
我在其中一个或中有一个包(注意缺少v2)。
/home/me/go/src/example.com/utils
/gofaster/src/example.com/utils
如果我在这两个目录中都有一个包,那么它将用于解析依赖关系。
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报