去 dep 和 fork 库
Go dep and forks of libraries
我正在尝试了解如何使用 Golang 和 fork。情况如下,我正在写一个依赖库 github.com/other/some_dependency
的库 project
,它不是我的。
因为 some_dependency
缺少一些我需要的方法,所以我将它分叉到 github.com/me/some_dependency
。但是,我不能只做 go get github.com/me/some_dependency
,库会引用自身,所以它会中断。
在这个article中他们给出了一个可能的解决方案:
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
现在,这充其量只是 hacky。从库的代码中无法知道依赖项来自不同的 repo。 go get
我的图书馆的任何人都无法让它发挥作用。
因为 dep 应该是官方的依赖管理器。我找到了修复版本的方法:
dep ensure -add github.com/foo/bar@v1.0.0
但我找不到如何设置不同的遥控器。有可能做到吗?
例如,在 Node.js 和 npm 中它是 dead simple:
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 文档
我正在尝试了解如何使用 Golang 和 fork。情况如下,我正在写一个依赖库 github.com/other/some_dependency
的库 project
,它不是我的。
因为 some_dependency
缺少一些我需要的方法,所以我将它分叉到 github.com/me/some_dependency
。但是,我不能只做 go get github.com/me/some_dependency
,库会引用自身,所以它会中断。
在这个article中他们给出了一个可能的解决方案:
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
现在,这充其量只是 hacky。从库的代码中无法知道依赖项来自不同的 repo。 go get
我的图书馆的任何人都无法让它发挥作用。
因为 dep 应该是官方的依赖管理器。我找到了修复版本的方法:
dep ensure -add github.com/foo/bar@v1.0.0
但我找不到如何设置不同的遥控器。有可能做到吗? 例如,在 Node.js 和 npm 中它是 dead simple:
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
。