2017-06-18 5 views
0

私はテスト・ツールにginkgo、パッケージ・マネージャにはglideを使用します。「グライド・ゲット」と「ゲット・ゲット」の異なるバージョンのインストール

ginkgoでは、テストファイルを自動的に生成するためにバイナリをインストールする必要があります。 glide私の知る限り、バイナリのインストールをサポートしていません。だから、バイナリとそのソースファイルをインストールするためにgo getを使い終わった。

glideは、goファイルをスキャンして解決するすべてのパッケージをインストールするという問題があります。つまり、ginkgoのソースファイルもインストールされています。 コンパイル時に、vendorディレクトリ内のパッケージが優先されます。これにより、$GOPATH/binのバイナリが使用され、vendorディレクトリのソースファイルが使用される状況が発生します。 そして、go getは、glideが最新リリース版をフェッチするマスターブランチからファイルをフェッチするようです。したがって、バイナリによって生成されたテストファイルは、グライドによってインストールされたソースファイルと互換性がありません。

グライドが特定のパッケージをインストールしないようにする方法はありますか? 他にも良い方法がありますか?

答えて

1

グライドでは、インストールするパッケージの特定のバージョンを指定できます。これはglide.yaml

TIPで行われます。バージョンのいずれかでVCS依存と をチェックアウトすることができます何か/ github.com/の首謀者によって解析できるセマンティックバージョン制約することができセームパッケージ。たとえば、Gitの場合、 はブランチ、タグ、またはハッシュになります。これは、VCSで がサポートされているものによって異なります。

package: github.com/YOUR/PACKAGE 
import: 
    - package: github.com/onsi/ginkgo/ginkgo 
    version: master 
    repo: [email protected]:onsi/ginkgo.git 

これは、最新のマスタがコミットダウンロードします。

Hereは、グライドを使用したバージョン管理についての詳細情報です。

+0

ありがとうございました!私はゴランにnpmのような何かを願った... – hitochan

+0

問題はありません。私は[gopm](https://github.com/gpmgo/gopm)に遭遇しました。これは特定のバージョンを引っ張ってバイナリをビルドすることができます。しかし、私はそれを自分で試してみませんでした。 – JanB

関連する問題