编译和安装应用程序

在这个最后一个主题中,您将学习几个新的 go 命令。虽然 go run 命令是在您进行频繁更改时编译和运行程序的便捷快捷方式,但它不会生成可执行的二进制文件。

本主题介绍了另外两个用于构建代码的命令

  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
      

    作为替代方法,如果您已经有一个像 $HOME/bin 这样的目录在您的 shell 路径中,并且您希望将 Go 程序安装在那里,您可以通过设置 GOBIN 变量来更改安装目标,使用 go env 命令

    $ 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 教程到此结束!