2016-12-28 7 views
0

localhost:8080上で実行されているWebインターフェイスからアクセス可能なgoアプリケーションバイナリをパッケージ化しようとしています。ダウンロードしたときに、JS(フロントエンド)ファイルが見つかるファイルが実行されたが、私はそれを動作させるように見えない。私はこのような何かをやってきたバイナリファイルと追加ファイル

pwd, err := os.Getwd() 
    if err != nil { 
     fmt.Println(err) 
     os.Exit(1) 
    } 

そして、その中にファイルにアクセスするために、バイナリの作業ディレクトリを使用しようとしているが、それは動作するようには思えません。

バイナリは次の場所にあります。

/ユーザー/管理者/デスクトップ/ testappfolder

しかし、私はただでプログラムを実行すると:

pwd, err := os.Getwd() 
if err != nil { 
    fmt.Println(err) 
    os.Exit(1) 
} 
fmt.Println(pwd) 

私は作業として/Users/adminを取得し終わります代わりにディレクトリ。

私は疑問に思っています:

どこが間違っていますか? これはGopathと関係がありますか? アプリケーションを「zip」として配布し、作業ディレクトリに対して自分のプログラムの中に直接ファイルパスを設定することについては正しい方法ですか?それが間違っているのでしょうか?

+0

ここをクリックしてください:https://github.com/jteeuwen/go-bindata –

答えて

1

os.Getwdは、の開始のバイナリが存在しない場所からのバイナリです。

より堅牢なソリューションを作成するには、flagを使用してファイルディレクトリの場所に渡すか、構成値を使用します。

関連する問題