为了账号安全,请及时绑定邮箱和手机立即绑定

去,去获取,去安装,本地软件包和版本控制

去,去获取,去安装,本地软件包和版本控制

Go
犯罪嫌疑人X 2021-05-03 12:56:12
我在理解创建具有本地程序包的go项目的工作流程时遇到了麻烦。假设我创建了一个新项目,使用git进行版本控制,它有一个main.go文件和一个tools.go文件,这些文件将在utils包中。所以我有一个这样的目录结构:/myproject/   main.go   utils/     tools.gomain.go看起来像这样:package mainimport "./utils"func main() {    utils.DoSomthing()}和tools.go看起来像这样:package utils;func DoSomething() {}使用go build和go run在本地一切正常。但这是托管在github上的,我希望能够让其他人使用go get命令来安装它。因此,必须将本地程序包导入更改为使用“ github.com/user/project/utils”格式,该格式可以正常工作,但现在我有两个源代码副本,真正的问题是该副本带有git历史记录具有使用下载的副本的导入。因此,如果我使用git历史记录来处理副本,则对tools.go所做的任何更改都不会引起注意,因为它将使用下载的副本。所以我想知道是否有人可以解释在同一项目中使用go get,版本控制和包导入的正确方法。
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

如果要将代码保留在本地版本存储库中,只需将代码放在GOPATH中即可。

GOPATH接受多个路径。例如。在Linux上

GOPATH=$HOME/go:$HOME/prj/foo

因此,您可以将第3方软件包安装在$ HOME / go / src / ...中,并且可以将代码控制在$ HOME / prj / foo / src中。



查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信