• 简体中文
  • 编译并安装应用程序

    在最后一个主题中,你将了解两个用于构建和安装应用程序的重要 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 教程的结束!