私はGoにアプリケーションを書いています。コンパイルする前に満たされる必要のある2つの外部依存関係があります。 Goエコシステムでは、これらのリモートdepsのインストールを含む簡単なインストールプロセスのためにこのアプリをパッケージ化する最良の方法は何ですか?ユーザーが私のアプリをどのようにインストールしますか?Goアプリの配布方法は?
答えて
ユーザーがアプリケーションをコンパイルするために期待していると、そのアプリケーションはサードパーティ製のパッケージや資産に依存している場合、私はちょうどサポートされているプラットフォーム用のクロスコンパイルしてバイナリを提供することをお勧めしたいです。
あなたが(例えば、設定ファイル)を使用すると、アプリケーションと一緒に提供したい資産を持っている場合は、次のいずれかa)の資産とtar /はそれをジップ付きバイナリをパッケージ化。 b)base64でアセットをエンコードし、バイナリsee here for a good exampleにコンパイルするか、またはc)ユーザに対してこれを行うビルド/インストールスクリプトを作成します。
正確な要件を明確にすることができれば、より直接的に答えやすくなります。
特にビルド/インストールスクリプトでは+1です。合理的にインテリジェントなスクリプト(またはMakefile)をソースディストリビューションに含めることができれば、パッケージマネージャーの方がはるかに簡単です。 –
Goバイナリには、コードに与える可能性のある実行時依存関係はありません。コンパイルされた実行可能ファイルにランタイムライブラリが含まれています。
したがって、C、C++、または他のコードからコンパイルされた他のバイナリと同じ方法でアプリケーションを配布します。
Linuxでは、適切なツールを使用して.rpmまたは.debファイルを作成することがあります。 Windowsでは、InnoSetupのようなツールを使用してインストーラを作成できます。
Goは、1つのバイナリを生成します。外部依存関係がコンパイル時の依存関係である場合、ユーザーはそれらについて心配する必要はありません。すでにコンパイルされています。
実行時依存関係の場合は、exeと関連するexeがGoで書かれているかどうかは関係ありません。 EDIT:実行時の依存関係があっても1つのバイナリでなければならない場合、実行時の依存関係をコンパイルしてコンパイルする必要があります。一つの方法は、エリートラーが提案した方法です。
Goの観点から心配する必要があるのは、ユーザーのプラットフォーム用にコードをコンパイルしたことだけです。
- 1. あなたのアプリのiOS版の配布方法は?
- 2. Mac App Storeへの配布用Macアプリの署名方法
- 3. iosアプリをヨーロッパのエンタープライズ顧客に配布する方法
- 4. Javaベースのソフトウェアの配布方法は?
- 5. Cocoa App:ベータ版の配布方法は?
- 6. 配布用のMacアプリのパッケージ
- 7. Xcodeアプリの友だちへの配布
- 8. iPhoneアプリのデザインと配布モデル
- 9. FacebookアンドロイドSDKとアプリの配布とディープリンク
- 10. 別注iphoneアプリを配布する正しい方法は何ですか?
- 11. Adobe Air社で作成したサードパーティのiOSアプリの配布方法
- 12. sdカードにAndroidアプリを配布する
- 13. Androidアプリでデータベースを配布する
- 14. iPhoneアプリでSSH鍵を配布する
- 15. Xcode 4.2で配布用iPhoneアプリをビルドして提出する方法
- 16. iPhone - アプリ内購入アプリを配布する
- 17. のJavaを配布するための最良の方法は、
- 18. gensimのLDAトピックの単語の完全な配布方法は?
- 19. VS2005のCrystal ReportsをVistaに再配布する方法は?
- 20. A/B/nテスト、Webサイトクライアントの配布方法は?
- 21. DBデータを使ってAndroidアプリを配布するには?
- 22. データベースドライバの配布
- 23. WPFでオブジェクトの配列を水平に配布する方法は?
- 24. rubyアプリを配備する方法は?
- 25. RPMを使用してカーネルモジュールを配布する方法は?
- 26. Apple:店舗なしで配布する方法は?
- 27. Python eggでデータファイルを配布/アクセスする方法は?
- 28. Blackberry WebWorks + Rippleは、アプリを配布する最も簡単な方法は何ですか?
- 29. 無料のWindows 8アプリを無料で配布する方法はありますか?
- 30. iOSのエンタープライズ配布アプリQRコードのダウンロード問題
外部依存関係は何ですか?そして、あなたがコンパイルするのを期待するか、バイナリの配布について話していますか? –
バイナリを配布したい – Carson
@Carsonバイナリだけ? "外部依存関係"と言うとき、**はサードパーティのパッケージ(つまり、 'get get url.to/package/name')のみを意味するか、バイナリと一緒に必要な他のファイルはありますか?明示してください。 – elithrar