首頁 >後端開發 >Golang >為什麼我的 Go 編譯器找不到我的外部套件?

為什麼我的 Go 編譯器找不到我的外部套件?

Barbara Streisand
Barbara Streisand原創
2024-12-05 19:38:10199瀏覽

Why Can't My Go Compiler Find My External Packages?

使用非GOROOT Go 套件

問題:遇到錯誤「package package1 is not in GOROOT (/usr/local/go/ src /package1)"嘗試使用外部套件時Go.

說明:當Go編譯器在標準函式庫GOROOT目錄下找不到指定的套件時,就會出現此錯誤。這表示該軟體包未安裝或位於標準庫之外。

解:

  1. 設定環境變數:

    • 確保環境變數設定為“on”以啟用模組支援。
    • 將 GOPATH 環境變數設定為 GOROOT 以外的目錄。
    • 將 GOPATH/bin 和 GOROOT/bin 加入 PATH 環境變數。

    例如,您可以將這些行加入您的.bashrc檔案:

    export GO111MODULE=on
    export GOPATH=/mnt/sda1/programming/gopath
    export PATH=$PATH:$GOPATH/bin
    
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
  2. 載入環境變數:

    • 透過運行source重新載入環境變數~/.bashrc.
  3. 初始化主機套件:

    • 為主項目建立新目錄並初始化帶有go mod init的模組main.
  4. 建立外部套件:

    • 為外部套件建立一個單獨的目錄。
    • 在外部套件目錄中,使用第一個套件中的package1 語句建立任何必要的檔案
  5. 匯入外部套件:

    • 在主Go在檔案(main.go)中,匯入外部包包使用相對於主套件目錄的路徑。例如:
    import "main/package1"

依照以下步驟,可以確保你的Go編譯器能夠找到並使用外部包,解決「packagepackage1 is not in GOROOT」的問題「錯誤。

以上是為什麼我的 Go 編譯器找不到我的外部套件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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