我前一阵子开始使用godep,但是我想我无法理解该原理,并且我可能会完全错误地使用它。

我以为godep维护_workspace以便在某些修订/项目被删除或不可用的情况下具有软件包的本地副本。但是godep restore似乎根本没有使用_workspace

另外,第二次调用godep save不会更新_workspace,而只会更新Godeps.json

我想念什么?

更新:

为了解释我的问题,我将Godeps.json中的一个修订版本更改为无效的修订版本“1”,并运行了godep restore。这是我得到的错误:

$GOPATH/bin/godep restore
# cd /home/iliga/gopath/src/github.com/jinzhu/gorm; git pull --ff-only
From https://github.com/jinzhu/gorm
a97a508..087b708  master     -> origin/master
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

git pull <remote> <branch>

# cd /home/iliga/gopath/src/github.com/jinzhu/gorm; git checkout 1
error: pathspec '1' did not match any file(s) known to git.
godep: restore: exit status 1

如上所述,我希望不会有错误,并且Godep只需从_workspace复制代码即可。

最佳答案

“godep restore”不使用_workspace。它读取Godeps.json并检查您对GOPATH的依赖关系。

要使用_workspace,请运行以godep开头的go命令,例如“godep go build”,“godep go test”。

关于go - Godep恢复不使用_workspace中保存的代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28703391/

10-10 17:22