【发布时间】:2019-02-02 10:05:45
【问题描述】:
我到处都读到我的GOPATH 必须设置为我的工作区。如果我这样做并使用 go get 从例如 github 获取包,它们都会添加到我的工作区,但我觉得这不是特别有用,因为它使我的工作区变得混乱。在我的工作区中,我希望找到我的代码和我的代码。
所以我现在在~/repos/go 中拥有自己的存储库,并将我的GOPATH 保留为默认~/go。这很完美。我导入的所有库都位于~/go,这让我自己的工作场所~/repos/go 保持整洁。这对我很有用,所以我不确定为什么这不是推荐的工作方式。
我错过了什么吗?是否有我破坏的东西或功能无法以这种方式工作?
欢迎所有提示!
[编辑] 解释为什么我的问题与 this question 不同:我知道 GOPATH 做了什么(使用 go get 时定义放置包的地方和从中导入包的地方),但我不知道为什么您需要将公共代码与您自己的代码放在同一位置。事实证明没有必要,正如@peterSO 在我在下面接受的(优秀)答案中所解释的那样。
【问题讨论】:
-
如果你使用 GOPATH,所有的包都必须在 GOPATH 中才能工作。您可能在这里无意中混合了模块和 GOPATH 行为,但是您可以在以后通过遵循文档来为自己省去很多痛苦。