Go语言基地
Tutorilas创建模块

编译并安装应用程序

在最后一个主题中,你将了解两个用于构建和安装应用程序的重要 Go 命令。虽然 go run 非常适合快速开发周期,但它不会创建独立的可执行文件。在这里,你将学习如何使用以下命令生成和安装二进制可执行文件:

  • go build:编译包及其依赖,但不安装它们。
  • go install:编译并安装包。

注意: 本文是系列教程的一部分,该系列始于 创建 Go 模块

步骤

  1. 使用 go build 编译应用程序,在 hello 目录的命令行中运行:
$ go build

这会在当前目录创建一个名为 hello(在 Windows 上为 hello.exe)的可执行文件。

  1. 运行可执行文件 以验证其是否正常工作:

根据你在测试后的 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!]

你现在有了一个编译好的可执行文件,但需要在它的目录中运行或提供路径。接下来,你将全局安装它。

  1. 查找 Go 安装路径go install 会将可执行文件放置在这里:

使用 go list 命令:

$ go list -f '{{.Target}}'

输出可能类似于 /home/gopher/bin/hello,表明二进制文件安装到 /home/gopher/bin。你将在下一步需要此目录。

  1. 将 Go 安装目录添加到你的 shell 的 PATH 中

这允许你从任何位置运行程序,而无需指定其路径。

  • Linux/Mac 上:

    $ export PATH=$PATH:/path/to/your/install/directory
  • Windows 上:

    $ set PATH=%PATH%;C:\path\to\your\install\directory

或者,如果你希望使用像 $HOME/bin 这样的自定义目录,并且它已在你的 PATH 中,你可以设置 GOBIN 变量:

$ go env -w GOBIN=/path/to/your/bin

或在 Windows 上:

$ go env -w GOBIN=C:\path\to\your\bin
  1. 使用 go install 安装包
$ go install

这会将可执行文件编译并安装到 GOBIN 或 Go 安装路径指定的目录中。

  1. 通过简单地键入程序名称全局运行应用程序。打开新的命令提示符并从任意目录运行 hello
$ hello
map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]

总结

你现在学会了如何:

  • 使用 go build 将 Go 程序编译为独立的可执行文件。
  • 使用 go install 全局安装这些可执行文件。
  • 配置系统,以便从任何目录运行已安装的程序。

这些技能对于在开发环境之外分发和使用 Go 应用程序至关重要。

这就是本 Go 教程的结束!

On this page