在 Go 中匯入本機套件
匯入本機套件是 Go 中組織和模組化程式碼的重要面向。但是,當將本地包移動到其他位置時,可能會發生錯誤。本文解決了兩個常見問題,並提供了在 Go 中匯入本機套件的解決方案。
錯誤1:非本地套件中的本地導入
遇到錯誤訊息「 local import "./common" in non-local package" 確保導入語句的語法正確。 Go 認為導入的起始路徑是 $HOME/go/src。這表示 import 語句應該包含相對於 $HOME/go/src 的本機套件的路徑。
在這種情況下,本地包位於 /home/me/go/src/myapp。要解決該錯誤,請如下所示更新導入語句:
import ( "log" "net/http" "myapp/common" "myapp/routers" )
錯誤2:找不到套件
收到錯誤「找不到包」時,請驗證Go 導入路徑配置正確。預設情況下,Go 在 $GOROOT 和 $GOPATH 中尋找包。導入路徑應與這些目錄中本地包的相對路徑相符。
在這種情況下,本地包不位於 $GOROOT 或 $GOPATH 中。若要解決此問題,請透過將環境變數 GOPATH 設定為包含 /home/me/go/src 來設定 Go 工作區以包含本機套件目錄。您可以透過將以下行新增至 shell 設定檔(例如 .bashrc)來完成此操作:
export GOPATH=$GOPATH:/home/me/go/src
以上是移動本地 Go 包時如何修復導入錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!