複数の Go パッケージ バイナリを同時にビルドする
質問は、トップレベルのパッケージを使用するというデフォルトのアドバイスとして、複数のパッケージ バイナリを同時にビルドすることを中心に展開しています。 cmdフォルダーが機能していないようです。提供されているコード例は、特定のバイナリを正しくビルドできる特定のフォルダー構造を示しています。
go build コマンドを使用してすべてのバイナリを 1 ステップでビルドするには、次のバリエーションをお勧めします:
cd $GOPATH/someProject for CMD in `ls src/cmd`; do go build ./src/cmd/"$CMD" done
このコマンドは、src/cmd ディレクトリ内のパッケージを反復処理し、各パッケージを個別にビルドします。生成されたバイナリは、それぞれのパッケージ ディレクトリに保存されます。
バイナリを $GOPATH/bin にインストールしたくない場合は、スクリプトを使用することもできます。これは、ビルド スクリプトが複数のバイナリ生成を処理するオープン ソース プロジェクトでは一般的な方法です。
次のサンプル スクリプトを使用できます。
cd $GOPATH/someProject for CMD in `ls cmd`; do go build ./cmd/$CMD done
このスクリプトは、cmd 内のパッケージを反復処理します。ディレクトリとそれぞれで go build を実行します。結果として、バイナリのセットがそれぞれの cmd パッケージ ディレクトリに保存されます。
詳細については、次の人気のあるプロジェクトでビルド スクリプトの例が提供されています。
以上が最上位の `cmd` フォルダーを使用せずに複数の Go パッケージ バイナリを同時にビルドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。