2013-08-28 18 views
8

python/djangoの世界から来て、go/revelに相当するrequirements.txtのようなものを持っているのは素晴らしいことです。これどうやってするの?私はちょうどrequirements.txtファイルを書き込み、その後、私の要件にも要件がある場合Golang requirements.txt相当の

cat reqiurements.txt | xargs go get 

しかし、何のような何かを行うことができます知っていますか?上記のコマンドは、それらを取得しようとすると、私はそれらの要件がインストールされていないので、彼らはビルドに失敗します。

紛失しているものがありますか?

+5

depGlideとクールな新しいおもちゃと呼ばれています。それらを指定する必要はありません。それを試して、それがあなたが必要とするものかどうかを見てください。 – Intermernet

答えて

13

コマンドgo getは、必要なものを正確に実行します。すべての依存関係を見つけ出し、欠落しているものをダウンロードしてインストールします。フォーカス "すべて":go getは本当にあなたの依存グラフを横断します。

は、ドキュメントを見てください:

http://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies

囲碁ドキュメントは本当に、きれい短いとよく書かれています。他のツールやツールチェーンの経験に基づいて前提を作る前に、ドキュメントを最初に見ておくことを常にお勧めします。

+0

あなたが共有したリンクでは、自分自身の依存関係をどのように書くことができるのか説明していません。また、開発者とユーザーは異なる依存関係を持つことがあります。 – erikbwork

+0

@erikbwork "自分自身の依存関係"について教えてください。また、ユーザーと開発者の「さまざまな依存関係」はどういう意味ですか?あなたはテストコードだけで必要な依存関係を考えていますか?もしそうなら:Go get this handle(コマンドラインフラグを見てください)必要な追加ツールについて話したら(例えば、 'go generate'はyaccやm4に依存します)、getはあなたのためではありません。 GoをダウンロードしてGoパッケージをソースからビルドします。パッケージマネージャやシステムプロビジョニングツールではありません。 – Volker

+0

私は 'go 'を知らないので、私はあなたにこれらの言葉でそれを説明することはできません。しかし、最近のソフトウェアでは、いくつかの追加パッケージが必要です。あなたのプログラムはyamlファイルを解析するかもしれません。次に、バージョン3.1.5のgo-yaml-libraryが必要です。あなたがどこかでそれを書いたことがないなら、私は「行く」ことが理解できるとは思っていません。 開発者とユーザーの違いは、主に安定性です。 Devsはすべての新機能を含んでいるので、3.1.5ではなく3.4.5を使用することがありますが、破損する可能性があります。ユーザーは、それほど頻繁に壊れないため、最新のリリースで3.1.5を取得します。 – erikbwork

2

私はちょうどkubernetesの人たちが自分自身の概要ページを作成したことを発見しましたhere

概要はこれです:現在の安定はGET`が各パッケージに必要な要件のすべてをつかむ必要があります行く `