問題タブ [govendor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 知事パニック: パッケージ パスが空です
空のパッケージ パス エラーを修正するにはどうすればよいですか? どのパッケージに問題があるか、または修正方法が不明です。
vendor/vendor.json
json ファイル。
完全なスタック トレース。
go - 他のプロジェクトのベンダーを使用しますか?
小さなアプリには他のプロジェクト(オリジン)ベンダーのディレクトリを使用します(古いバージョンのライブラリを使用し、現在のものと互換性がないため)。しかし、私はこれらのエラーが発生します:
govendor と "code" が vendor dir を適切に扱うようにする方法は? 私がここで間違っていることは何ですか?
コード例:
そして、フラグが間違って使用されていると文句を言います。
go - 型エラーとしての Govendor
エラーの取得: *company/model をタイプ *vendor/company/model として使用できません
フラットなベンダー構造 : ベンダー/会社/モデル
ファイルは「会社/モデル」をインポートします
go - 「go vendor add」がリビジョン番号で機能しないのはなぜですか
コンパイル エラーが発生したため、ベンダー フォルダーに間違ったバージョンのライブラリがあると思われました。最初のタスクは、ライブラリのどのリビジョンが正しいかを判断することでした。文字列「VolumeCreateRequest」を含むライブラリ ソースのバージョンを見つける必要がありました。そのために、ライブラリのルート フォルダーから次のトリックを使用しました。
そこから、バージョン ハッシュを見つけました: 06f160237426e705ed214a4f087d4aeea32c0a8b
:
それで、そのバージョンをベンダーフォルダーに追加しようとしました
go vendor add github.com/docker/docker/...@06f160237426e705ed214a4f087d4aeea32c0a8b
しかし、うまくいきません。git を使用してライブラリのバージョンを確認すると、取得したばかりのバージョンが報告されません。
vendor.json ファイルにも間違ったバージョンが含まれています
元気?ドキュメントを注意深く読んだ後、go vendor add@06f160237426e705ed214a4f087d4aeea32c0a8b
がフェッチ URI の最後にある を黙って無視していることがわかります。
正しいコマンドは、@version をサポートするgo vendor fetchです。
govendor fetch github.com/docker/docker/...@06f160237426e705ed214a4f087d4aeea32c0a8b
これを達成する別の方法は、必要なバージョンのライブラリを GOPATH で (つまり、vendor フォルダーではなく) git checkout してgovendor add
から、GOPATH からパッケージをチェックアウトすることです。
だから今、私はgitのバージョンをチェックし、私たちはすべてうまくいっています. そして、次の問題が発生しました。私たちの generate.go ファイル (によって呼び出されます) が入り、私の GOPATH にあったものでgo generate
目的のバージョンを上書きします。vendor.json
私たちのシーケンスgenerate.go
は次のとおりです。
追加によって私の変更が上書きされ、vendor.json が既に間違ったバージョンに感染しているため、同期が無効になるため、これは間違っていることが判明しました。
正しいシーケンスは次のとおりです。
このようにして、カスタマイズされた vendor.json はまず vendor フォルダーを必要なものに同期し、その後でのみ、外部の不足している依存関係がダウンロードされます。
最後に、いくつかの依存関係は、実際にはまったくコンパイルされず、プラットフォーム固有のものになります。これを解決するために、これらの行を generate.go に追加して、同期、追加、フェッチした後、壊れた依存関係を削除します
go - ベンダー サブパッケージを含む Golang ベンダー パッケージ
状況:
というパッケージがあるとしましょうmypackage
。という 1 つのメソッドを公開します。このメソッドは、次のように、Build()
というサードパーティ ライブラリによって公開された具体的な構造体を返します。thirdpartypackage
公開するパッケージは、配布してそのパッケージを独立させたいため、SharedStruct
内でベンダー化されています。mypackage
問題:
mypackage
別のプロジェクトにインポートしthirdpartypackage
て (統合) テストで使用した後、次のエラーが発生します。
XXXX (タイプ "github.com/mycompany/mymainproject/vendor/github.com/mycompany/mypackage/vendor/github.com/thirdcompany/thirdpartypackage-go".Token) をタイプ "github.com/empatica/mycompany/" として使用することはできませんvendor/github.com/thirdcompany/thirdpartypackage"
基本的に、コンパイラは、ライブラリ内のベンダーのサードパーティ パッケージと、メイン プロジェクトに配置したベンダーのパッケージを区別しています。
質問:
ここで提案されているように、ベンダーの依存関係をライブラリから削除しないで、この問題を解決する方法はありますか? 何か不足していますか?
go - govendor は自動的に推移的な依存関係を含めますか?
govendor add
またはを介して新しい依存関係 X を追加するとしgovendor fetch
ます。この依存関係 X は Y に依存関係があります。
govendor はそれらの依存関係も自動的に取り込みますか? または、私がしなければなりませんかgovendor add Y
。
add
とでは動作が異なりますfetch
か?
ここのドキュメントのいずれかでこれについて議論されているのを見つけることができませんでした: https://github.com/kardianos/govendor
または実行することによってgovendor add --help
bash - govendor が cmd から機能しない
プロジェクト フォルダで govendor を使用しようとしています/d/projects/go/src/github.com/user/dbot
ガバナー初期化
しかし、bashは戻ります
bash: govendor: コマンドが見つかりません
インストールについては、指示に従って使用するだけです
私が知る必要があることについて他に何かがあります
go - govendor、dh-make-golang を使用して Go 1.7 プロジェクトをビルドするときに、ベンダーの依存関係の問題をインポートする
go プロジェクトを debian パッケージに組み込むことを検討しています。
dh-make-golangを調べたところ、リポジトリに素敵で光沢のあるdebian
フォルダーが設定されています。使用しようとするとgbp buildpackage --git-pbuilder
、すべての依存関係が見つからないためにエラーが発生します。私のプロジェクトのgitリポジトリからすべてをコピーするときにフォルダーをdh-make-golang
無視しているようで、すべての依存関係がそこにあるように使用します。vendor
govendor
.deb
この依存関係の問題を解決し、プロジェクトをパッケージとして適切にビルドするにはどうすればよいですか? 参考までに、私が得ているエラーは次のとおりです。
src/github.com/project/project/project.go:15:2: cannot find package "google.golang.org/grpc/grpclog" in any of:
/usr/lib/go-1.7/src/google.golang.org/grpc/grpclog (from $GOROOT)
/tmp/project/obj-x86_64-linux-gnu/src/google.golang.org/grpc/grpclog (from $GOPATH)