• English
  • 編譯並安裝應用程式

    在最後一個主題中,你將了解兩個用於建構和安裝應用程式的 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 教學的結束!