3 回答
TA贡献1921条经验 获得超9个赞
是的,GOPATH是目录列表(如PATH)。跑去go help gopath了解详情。例如,在 Linux 上,我有:
$ go env
GOROOT="/home/peter/go"
GOPATH="/home/peter/gopath:/home/peter/public/gopath"
$
我在 Windows 上有类似的东西。
注意:Linux:用作GOPATH列表分隔符;Windows;用作分隔符。
如果您使用go get它将默认为列表中的第一个目录。
运行go env以检查一切是否正确。
TA贡献1798条经验 获得超7个赞
这篇博客文章很好地解释了如何以及为什么要在 GOPATH 中设置多个值,尤其是当它说:
我的 GOPATH 由 3 个文件夹或 GOPATH 工作区组成。
第一个是我的登陆工作区。因为它是最先列出的,所以每当我去获取任何新包时,它总是最终出现在这个工作区中。
Go 搜索 GOPATH 中列出的每个目录以查找源代码,但新包总是下载到列表中的第一个目录中。我制定了永远不要在那里做任何开发的规则,所以只要它变得太大,清理这个文件夹总是完全安全的(我不使用 Go 包)。毕竟,它只有我可以通过 go get 再次获取的 Go 包。
我的第二个工作区用于我所有的个人 Go 包以及我可能想要“收藏”或进行一些开发的任何其他包。我将我经常使用的东西从第一个工作区移到第二个工作区。
我的第三个工作区专用于我工作中的私有 Go 包及其依赖项。将我的工作包与我的所有个人物品分开很方便,这样它们就不会相互妨碍。
TA贡献1775条经验 获得超11个赞
是的。
引用 Go 本身:
$ go help gopath
Go 路径用于解析导入语句。它由 go/build 包实现并记录在其中。
GOPATH 环境变量列出了查找 Go 代码的位置。
在 Unix 上,该值是一个以冒号分隔的字符串。
在 Windows 上,该值是以分号分隔的字符串。
在计划 9 上,该值是一个列表。必须将 GOPATH 设置为在标准 Go 树之外获取、构建和安装包。
GOPATH 中列出的每个目录都必须具有规定的结构:
src 目录包含源代码。src 下面的路径决定了导入路径或可执行文件名称。
...
- 3 回答
- 0 关注
- 240 浏览
添加回答
举报