首頁 > 後端開發 > Golang > 為什麼我在建構 Go 專案時出現「package XXX is not in GOROOT」錯誤?

為什麼我在建構 Go 專案時出現「package XXX is not in GOROOT」錯誤?

Barbara Streisand
發布: 2024-12-20 12:18:10
原創
413 人瀏覽過

Why Am I Getting the

建構Go 專案時「package XXX is not in GOROOT」

上下文

嘗試建置Go 專案時出現問題,且出現下列錯誤: 「包項目/遊戲不在GOROOT 中(C:Gosrcprojectgame)"。

根本原因

此錯誤通常發生在以下情況:

  • GOROOT、GOPATH 和 GOBIN 環境變數未正確設定。
  • Go 項目結構不正確。
  • go.mod 檔案項目根目錄中缺少或不存在。

1。設定環境變數

如果升級到較新的Go版本(1.13),則不再建議使用GOROOT、GOBIN、GOPATH等環境變數。

2.正確的專案結構

確保您的專案在專案根目錄下有一個go.mod 檔案以及以下目錄結構:

|- project
    |- game
        |- entity
        |- game_stuff.go
    |- server
登入後複製

3.使用go mod

不要依賴環境變量,而是使用 Go Modules(go mod)來管理模組依賴關係。

cd project
go mod init remote-repo.com/username/repository
登入後複製

4.從模組根目錄執行指令

指令應從專案根目錄執行。例如:

go run server
登入後複製

5。指定完整模組路徑

使用 go 指令時,特別是從模組根外部使用時,請指定完整的包路徑,其中包括供應商 URI。例如:

go test github.com/username/repository/project/game/entity
登入後複製

6。如果需要,設定 GOPATH(可選)

對於較舊的 Go 版本,您可以選擇將 GOPATH 設定為專案所在的工作空間路徑。確保 GOPATH 指向確實的路徑。

GOPATH=C:\Users\username\go
登入後複製

範例

在提供的目錄結構中建立伺服器套件:

cd project/server
go build project/server
登入後複製

此指令應該成功建置伺服器套件,並且不會出現「package XXX is not in GOROOT」錯誤。

以上是為什麼我在建構 Go 專案時出現「package XXX is not in GOROOT」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板