2017-10-04 9 views
0

私はCLI Goアプリケーションを持っています。このアプリケーションはいくつかの環境変数を読んでおり、カスタム設定ファイルを読んでいます。 そして私はこのenv-variableを手動で設定したり、設定ファイルを手動で作成したりしたくありません。これらの操作がgo installコマンドによって行われるなら、それは素晴らしいことでしょう。 しかし、go installの間にいくつかの追加アクションを実行する方法が見つかりませんでした。 これは可能なのですか?それを行うベストプラクティスは何ですか?インストールを実行します。

+0

これらの設定をアプリケーションにコンパイルしますか? –

+1

@EugeneLisitsky設定をアプリケーションにコンパイルするとどういう意味ですか?もちろん、アプリケーションはそれを使用する予定です。 –

+0

ソースファイルに入れてから読み込みます。どのようなタスクを解決したいですか?その目的:設定を修正しますか?それらを隠す? –

答えて

3

go install環境変数を設定できないため、設定ファイルを作成できません。

ベストプラクティスは、わかりやすいデフォルトをアプリに「組み込む」ことです。アプリは、デフォルトを上書きするためのいくつかのオプションを提供する必要があります。コマンドラインフラグ、環境変数、設定ファイルなどがあります。

オーバーライド(設定ファイル)が存在しない場合、起動時にデフォルトの設定ファイルが作成され、設定が存在しないという警告メッセージが表示されてデフォルト設定が使用され、アプリはユーザーが変更/変更できるデフォルトを作成したばかりです。

+0

'git'を例に取ると、' git'コマンドが最初に実行されるまで '.gitconfig'ファイルが存在しないということでしょうか?そして、 'git'コマンドを実行する前にconfigsを変更する必要がある場合、彼は手動でそのファイルを作成する必要がありますか? –

+2

@SergiiBishyrそういうもの。あなたのユースケースまであります。設定ファイルが存在しない場合は、デフォルトのアプリケーションを作成し、何もせずに終了することもできます。作成したアプリの設定を確認するようユーザーに通知します。 – icza

+0

ありがとう!私はそれが一般的な使用事例であるので、「インストールする」ことはできませんが、少し残念です。 –

関連する問題