0

我对 Go 很陌生,但对软件不熟悉。我在一个有很多项目和依赖项的新团队工作,所以我们必须使用godep.

所有代码都是标准 Go 方式的结构,文件在$GOPATH/.../github.com/...etc 中(包括我们在 github 中的工作)

我对项目 A ( github.com/ourTeam/A) 进行了更改,我想运行github.com/ourTeam/B引用 A 的项目 B ( ) 来测试我的代码。所以我将我的工作从 A 提交到我自己在 A 的分支中(甚至推送了分支)。

->我只想用我的新版本 A 更新 B。

从B,我试过:

  • godep update github.com/A/subpackage. 它说'godep:没有包可以更新'
  • godep save. 它删除了供应商文件夹中的所有内容,将Godeps.json文件从任何依赖项中保留为空
  • Godeps.json使用我的提交手动更新,然后运行 ​​godep update。没有消息,但它没有更新任何东西。更改后的 Godep 保存也删除了供应商文件夹和 Godep.json 中的所有内容

我错过了什么?

注意:我使用 godep v65 (darwin/amd64/go1.6.2) 并godep save -v

godep: Finding dependencies for [.]
godep: Found package: github.com/ourTeam/B
godep:  Deps:
(nothing so the diff with old file removes everything)
4

1 回答 1

0

当您尝试更新时的错误消息告诉我,对 A 的依赖关系之前没有在 B 中保存过。这意味着您需要保存它,而不是更新。

今天,我遇到了和你一样的问题godep save。所有依赖项都被删除。但是,这让我度过了难关:

$ go get -u github.com/tools/godep # Make sure you have the latest godep (currently v71)
$ godep save ./... # Literally, "./..." is the argument

# The above command may fail with "Package not found ..."
# Install any package not found with "go get some/package/path"
$ go get some/package/path # if necessary
# Try "godep save ./..." again; repeat "go get" for any "not found" errors.

一旦godep save没有错误返回,我检查并按预期完成。它只添加了我在代码中导入的新依赖项。

于 2016-05-25T01:24:07.093 回答