繁体   English   中英

深入了解库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM