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

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

Barbara Streisand
Barbara Streisand原創
2024-12-20 12:18:10517瀏覽

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

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