第三方库 (mgo.v2) 供应错误
Error in vendoring of third party library(mgo.v2)
我正在尝试获取 mgo.v2 当前代码库的本地副本。 https://gopkg.in/mgo.v2 says to install using go get gopkg.in/mgo.v2
. I forked it from https://github.com/go-mgo/mgo/tree/v2 并尝试从 git 的 go get forked repo 安装它,但它改变了包结构(从 /src/gopkg 改变.in --> /src/github.com) 并且它没有说
src/github.com/eateshk/mgo.v2/error.go:4: "ERROR: the correct import path is gopkg.in/mgo.v2 ... " evaluated but not used
我明白这个错误,但是有什么解决办法吗?
这是分叉 go 包时的常见问题。规范或 "vanity" 导入要求代码位于指定路径中,否则它们将无法编译。唯一的解决办法是删除某处存在的 // import "gopkg.in/whatever"
评论。
您的方法还有其他问题。他们存储库中的导入将解析回原始存储库并导致各种混乱,除非您重写它们。
相反,我建议采用另一种方法。 唯一 可以将其保存在磁盘上而不会引起问题的地方是 $GOPATH/src/gopkg.in/mgo.v2
。任何其他事情都会导致问题。所以:
go get gopkg.in/mgo.v2
cd $GOPATH/src/gopkg.in/mgo.v2
git remote add mine your_git_fork
现在您可以从 origin
拉取上游更改并将您的更改推送到 mine
。感觉有点奇怪,但它确实是唯一一种从 fork 开始工作而不会因重写东西而造成大量额外痛苦的方法。
我正在尝试获取 mgo.v2 当前代码库的本地副本。 https://gopkg.in/mgo.v2 says to install using go get gopkg.in/mgo.v2
. I forked it from https://github.com/go-mgo/mgo/tree/v2 并尝试从 git 的 go get forked repo 安装它,但它改变了包结构(从 /src/gopkg 改变.in --> /src/github.com) 并且它没有说
src/github.com/eateshk/mgo.v2/error.go:4: "ERROR: the correct import path is gopkg.in/mgo.v2 ... " evaluated but not used
我明白这个错误,但是有什么解决办法吗?
这是分叉 go 包时的常见问题。规范或 "vanity" 导入要求代码位于指定路径中,否则它们将无法编译。唯一的解决办法是删除某处存在的 // import "gopkg.in/whatever"
评论。
您的方法还有其他问题。他们存储库中的导入将解析回原始存储库并导致各种混乱,除非您重写它们。
相反,我建议采用另一种方法。 唯一 可以将其保存在磁盘上而不会引起问题的地方是 $GOPATH/src/gopkg.in/mgo.v2
。任何其他事情都会导致问题。所以:
go get gopkg.in/mgo.v2
cd $GOPATH/src/gopkg.in/mgo.v2
git remote add mine your_git_fork
现在您可以从 origin
拉取上游更改并将您的更改推送到 mine
。感觉有点奇怪,但它确实是唯一一种从 fork 开始工作而不会因重写东西而造成大量额外痛苦的方法。