首頁 >後端開發 >Golang >移動本地 Go 包時如何修復導入錯誤?

移動本地 Go 包時如何修復導入錯誤?

Susan Sarandon
Susan Sarandon原創
2024-12-27 11:11:11537瀏覽

How Do I Fix Import Errors When Moving Local Go Packages?

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn