[英]Go dep and forks of libraries
我正在尝试了解如何使用Golang和forks。 情况如下,我正在编写一个库project
,该project
取决于不是我的库github.com/other/some_dependency
。
由于some_dependency
缺少了我需要的某些方法,因此将github.com/me/some_dependency
分叉到github.com/me/some_dependency
。 但是,我不能只是go get github.com/me/some_dependency
,该库引用了自己,所以它坏了。
在本文中,他们提供了可能的解决方案:
go get github.com/other/some_dependency
cd $GOPATH/src/github.com/other/some_dependency
git remote add fork git@github.com:me/some_dependency
git rebase fork/master
现在,这充其量是骇人听闻的。 从库代码中无法得知依赖项来自其他存储库。 任何人只要go get
我的图书馆都无法使它正常工作。
由于dep有望成为正式的依赖管理器。 我发现了如何修复版本:
dep ensure -add github.com/foo/bar@v1.0.0
但是我找不到如何设置其他遥控器。 有可能做到吗? 例如,在带有npm的Node.js中,它非常简单 :
npm install git+https://git@github.com/visionmedia/express.git
如果您查看help
,将会看到以下内容:
<import path>[:alt source URL][@<constraint>]
因此,要从位置github.com/fork/bar
添加github.com/foo/bar
,您必须像这样添加它:
dep ensure -add github.com/foo/bar:github.com/fork/bar
源位置将作为source
属性添加到Gopkg.toml
。
Gopkg文档依赖关系规则约束和覆盖
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.