0

Go は初めてですが、ソフトウェアは初めてです。私は多くのプロジェクトと依存関係を持つ新しいチームに取り組んでいるので、使用する必要がありますgodep

すべてのコードは、標準的な Go の方法で構造化されており、ファイルは$GOPATH/.../github.com/...etc にあります (github にある私たちの作業を含む)

プロジェクト A ( ) に変更を加え、 A を参照github.com/ourTeam/Aするプロジェクト B ( github.com/ourTeam/B) を実行してコードをテストしたいと考えています。そのため、A から自分の作業を A の自分のブランチにコミットします (さらに、ブランチをプッシュしました)。

->私が望むのは、B を新しいバージョンの A で更新することだけです。

Bから、私は試しました:

  • godep update github.com/A/subpackage. 「godep: パッケージを更新できません」と表示されました
  • godep save. ベンダーフォルダー内のすべてを削除し、Godeps.json依存関係からファイルを空のままにしました
  • 私のコミットで手動で更新Godeps.jsonしてから、godep update を実行します。メッセージはありませんが、何も更新されませんでした。この変更後に Godep を保存すると、 vendor フォルダーと 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 保存されていなかったことを示しています。これは、更新する代わりに保存する必要があることを意味します。

今日、私はあなたが使用しているのと同じ問題を抱えていました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 に答える