使用Go 自訂建置步驟
雖然go build 通常足以編譯Go 程序,但可能會出現需要其他操作或命令的情況與建置過程一起執行。
Go 工具的限制
go 工具套件不提供在建置期間執行任意指令的直接支援。 pkg-config 指令是連結 C 函式庫的特定情況,而不是通用解決方案。
解決方法
外部Makefile:
一種選擇是使用外部Makefile:
<code class="go">go build -ldflags="-X main.version=$(shell cat VERSION)"</code>
一種選擇是使用外部Makefile:
一種選擇是使用外部Makefile 來編排額外的建置步驟,然後可以使用下列語法由go build 指令明確呼叫:
在Makefile 中,附加步驟可以定義為建置目標的目標和先決條件。
單獨的命令:
或者,您可以在之前或之後手動執行附加命令作為單獨的步驟調用 go build。這種方法需要更多的手動幹預,但提供了更大的靈活性。
庫包的最佳實踐
儘管有這些解決方法,庫包應該努力使用 go get 輕鬆編譯依賴解析。複雜的建置要求應保留給獨立應用程式。
未來增強Go 1.4 版本引入了generate 命令,它允許開發人員在原始程式碼上執行預處理命令檔。然而,這仍然是一個必須明確調用的單獨步驟,並且不與一般的 go 建置過程整合。以上是以下是一些標題選項,捕捉問答格式和文章的本質: 選項 1(關注'go build”限制): * 如何執行 `go 以外的自訂建置步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!