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