フォルダー構造は正しいので、go install
パッケージ フォルダー内からでも、システム内のどこからでも実行でき、 の後にパッケージ (フォルダー) 名を追加しますinstall
。
たとえば、私のワークスペースは次のようになります。
Go\
bin\
pkg\
src\
name\
file.go
そして、私が走ったら
cd %GOPATH%\src\name
go install
または
go install name
エラーは発生せず、ワークスペースは次のようになります
Go\
bin\
pkg\
windows_amd64\ <-- new!
name.a <-- new!
src\
name\
file.go
パッケージ ファイルは正しく作成されますが、bin ファイルは作成されません。
私の Go 環境は次のとおりです:
C:\Users\...>go env
set GOARCH=amd64
set GOBIN=C:\Users\myname\Documents\Go\bin
set GOCHAR=6
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\myname\Documents\Go
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
なぜそうなるのでしょうか? 何かが足りないのでしょうか、何か間違っているのでしょうか? パッケージ ファイルと一緒に bin ファイルも作成したいのです。
ベストアンサー1
理由の 1 つは、file.go
が に含まれていないことですpackage main
。
たとえば、「最初のプログラム「
そうであれば、 で実行可能ファイルが生成されますbin
。
記事 "go build コマンドはどのように機能しますか?「」には次のことが書かれています:
Go コマンドは、 という名前のパッケージです
main
。
メイン パッケージ、つまりコマンドは、他のパッケージと同じようにコンパイルされますが、最終的な実行ファイルにリンクされるには、いくつかの追加手順が実行されます。