编译并安装应用程序
在最后一个主题中,您将学习几个新的 go 命令。虽然
go run 命令在频繁修改程序时是一个方便的编译运行快捷方式,但它不会生成二进制可执行文件。
本主题介绍两个用于构建代码的附加命令:
-
go build命令 会编译包及其依赖项,但不会安装结果。 -
go install命令 会编译并安装包。
-
在 hello 目录的命令行中,运行
go build命令将代码编译为可执行文件。$ go build
-
在 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!]
您已将应用程序编译为可执行文件,因此可以运行它。但要当前运行它,您的命令行提示符需要位于可执行文件所在的目录中,或者需要指定可执行文件的路径。
接下来,您将安装该可执行文件,以便无需指定其路径即可运行它。
-
在 Linux 或 Mac 上:
-
查找 Go 安装路径,
go命令将在此处安装当前包。您可以通过运行
go list命令 来查找安装路径,如以下示例所示:$ go list -f '{{.Target}}'例如,命令的输出可能显示
/home/gopher/bin/hello,这意味着二进制文件将安装到 /home/gopher/bin。您将在下一步中需要此安装目录。 -
将 Go 安装目录添加到系统的 shell 路径。
这样,您将能够在不指定可执行文件位置的情况下运行程序的可执行文件。
-
在 Linux 或 Mac 上,运行以下命令:
$ export PATH=$PATH:/path/to/your/install/directory
-
在 Windows 上,运行以下命令:
$ set PATH=%PATH%;C:\path\to\your\install\directory
或者,如果您已经有一个像
$HOME/bin这样的目录在您的 shell 路径中,并且您希望将 Go 程序安装到那里,您可以通过使用go env命令 设置GOBIN变量来更改安装目标:$ go env -w GOBIN=/path/to/your/bin
或者
$ go env -w GOBIN=C:\path\to\your\bin
-
在 Linux 或 Mac 上,运行以下命令:
-
更新 shell 路径后,运行
go install命令以编译并安装包。$ go install
-
简单地输入其名称即可运行您的应用程序。为了让这更有趣,请打开一个新的命令提示符,在其他某个目录中运行
hello可执行文件名。$ hello map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]
这就是本 Go 教程的全部内容!