在自定义GO包之上提交

时间:2018-02-06 00:42:09

标签: git go github

我在分叉的sha3项目中使用go包。我正在使用该软件包中不存在的特殊功能,我必须从gist下载文件,将其插入sha3软件包并进行编译。
一切都很好。但是,任何想要运行我的代码的人,都必须先获取该文件并将其插入标准sha3包,然后安装包并运行我的项目。 我可以将gist文件和sha3包含在我的提交中的最佳方式是什么,所以任何人都可以克隆并运行它?这是文件路径:

workspace-
         |_src__
                |_github.com
                |          |_myproject
                |                     |_codes
                |                     |_.git
                |_golang.org
                           |_x
                             |_crypto
                                    |_sha3
                                         |_custom.go

2 个答案:

答案 0 :(得分:2)

查看dep

  • 删除golang.org文件夹,然后转到项目文件夹。
  • 然后尝试dep ensure

如果您没有安装go dep,请先键入:

go get -u github.com/golang/dep/cmd/dep

这将提供您的依赖关系:请参阅“Understanding and using the vendor folder”。

答案 1 :(得分:1)

从1.5开始,您可以将vendor folder放在项目的根目录(workspace/src/github.com/myproject/vendor)。此文件夹是导入路径。构建时,go build将首先查找供应商文件夹中的包,如果找不到,则会查看$GOPATH内部。

您可以将自定义golang.org/x/crypto包复制到供应商文件夹中,然后将其添加到您喜欢的VCS中。

另一个解决方案是创建golang.org/x/crypto存储库的分支,如github.com/user/mycrypto,并使用go get命令获取如下代码:

go get github.com/user/mycrypto

话虽如此,VonC是对的,使用依赖管理器是一个很好的做法,因为它会跟踪您安装的库的版本,并且它允许更好的可移植性。