複数の 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 パッケージ ディレクトリに保存されます。
詳細については、次の人気のあるプロジェクトでビルド スクリプトの例が提供されています:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3