Go で小さなツールを作成し、それをパッケージ化して Linux または Windows の exe 実行可能ファイルにコンパイルするとき、スムーズではなく、これまでにも何度か遭遇したことがありますが、いつも記録するのを忘れていました。
set CGO_ENABLED=0
set GOOS=windows
set GOARCH=amd64
go build ./合并小文件.go
Windows環境では、末尾が.exeの実行ファイルが正しく生成されません。
go env を確認すると、set GOOS=windows が正常に設定されていないことがわかります。
E:\PROGRAMMING\GolangStudy\my_utils\1.大文本处理>go env
set GO111MODULE=on
set GOARCH=amd64
# 忽略一些参数......
set GOOS=linux # 此处还是linux
set GOPATH=D:\PROGRAMMING\Go;
# 忽略一些参数......
理由: 現在、Windows PowerShell で実行されており、set コマンドは機能しません
。
# 在原窗口执行
go env -w GOOS=windows
# 或新建一个cmd终端窗囗执行
set GOOS=windows
確認する
E:\PROGRAMMING\GolangStudy\> go env
set GO111MODULE=on
set GOARCH=amd64
# 忽略一些参数......
set GOOS=windows
set GOPATH=D:\PROGRAMMING\Go;
# 忽略一些参数......
go build パッケージングを再実行し、exe ファイルが正常に出力されました。