编译和安装应用程序
在这个最后一个主题中,您将学习几个新的 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 程序安装在那里,您可以通过设置GOBIN
变量来更改安装目标,使用go env
命令$ 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 教程到此结束!