本文翻译自《Compile and install the application》。
在最后一个主题中,你将学习几个新的go
命令。go run
命令是在你频繁更改代码时,快捷地编译和运行程序的方式,但它不会生成二进制可执行文件。
本主题介绍了两个用于构建代码的附加命令:
go build
命令编译包及其依赖项,但不安装结果。
go install
命令编译并安装包。
注意:本主题是从《创建一个Go模块》开始的多部分教程的一部分。
1 从hello目录中的命令行运行go build
命令,将代码编译为可执行文件。
$ go build
2 从hello目录中的命令行运行新的hello
可执行文件,以确认代码有效。
请注意,你的结果可能会有所不同,具体取决于你是否在测试后更改了greetings.go里的代码。
在Linux或Mac上:
$ ./hello
map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
在Windows上:
$ hello.exe
map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
你已将应用程序编译为可执行文件,因此你可以运行它。但是当前要运行它,你的命令提示符需要位于可执行文件的目录中,或者指定可执行文件的路径。
接下来,你将安装可执行文件,这样你就可以在不指定路径的情况下运行它。
3 发现Go安装路径,go
命令将在其中安装当前包。
你可以通过运行go list
命令来发现安装路径,如以下示例所示:
$ go list -f '{{.Target}}'
例如,命令的输出可能是/home/gopher/bin/hello
,这意味着二进制文件将安装到/home/gopher/bin
。你在下一步中将需要此安装目录。
4 将Go安装目录添加到系统的shell路径中。
这样,你就可以运行程序的可执行文件而无需指出可执行文件的位置。
在Linux或Mac上,运行以下命令:
$ export PATH=$PATH:/path/to/your/install/directory
在Windows上,运行以下命令:
$ set PATH=%PATH%;C:\path\to\your\install\directory
作为替代方案,如果你的shell路径中已经有一个类似$HOME/bin
的目录,并且你想在那里安装你的Go程序,你可以通过使用go env
命令设置GOBIN
环境变量来更改安装目标:
$ go env -w GOBIN=/path/to/your/bin
或
$ go env -w GOBIN=C:\path\to\your\bin
5 更新shell路径后,运行go install
命令编译并安装包。
$ go install
6 只需键入名称即可运行你的应用程序。为了让它变得有趣,打开一个新的命令提示符窗口并在其他目录中运行hello
可执行文件。
$ hello
map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]
本Go教程到此结束!(译者注:还有一总结篇)