您好,登錄后才能下訂單哦!
這篇文章主要講解了“golang中包無法引入問題如何解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“golang中包無法引入問題如何解決”吧!
開發環境區分不同網段,同一個程序引入到另一個環境后,對應的包無法下載
程序導入另一個環境后,初始化操作就是下載包:執行go mod tidy后,出現下面錯誤
go: github.com/Sirupsen/logrus@v1.0.1: Get " https://proxy.golang.org/github.com/Sirupsen/logrus/@v/v1.0.1.mod": dial tcp: lookup proxy.golang.org : no such host
或者出現以下錯誤
go: github.com/Sirupsen/logrus@v1.0.1: Get " https://proxy.golang.org/github.com/Sirupsen/logrus/@v/v1.0.1.mod": dial tcp: lookup proxy.golang.org : getaddrinfow: This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server
查看go.mod后,發現很多報紅,無法下載對應的版本包,查閱相關資料,對go.mod有了一個深入了解
go.mod文件定義module路徑以及列出其他需要在build時引入的模塊的特定的版本。
module go_start go 1.18 require ( github.com/fsnotify/fsnotify v1.6.0 github.com/gin-gonic/gin v1.8.1 github.com/go-sql-driver/mysql v1.6.0 github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible github.com/shirou/gopsutil v2.21.11+incompatible github.com/spf13/viper v1.14.0 github.com/valyala/fasthttp v1.40.0 github.com/vkcom/engine-go v0.0.0-20181122144534-e2cc962e10cc github.com/wxnacy/wgo v1.0.4 go.uber.org/zap v1.23.0 gopkg.in/yaml.v3 v3.0.1 )
如上go.mod文件:聲明go_start路徑作為module的根目錄;go的運行版本為1.18;同時也聲明了module依賴特定版本的github.com/fsnotify/fsnotify v1.6.0和github.com/gin-gonic/gin v1.8.1等等
根據報錯,嘗試舉措如下
go env -w GO111MODULE=on
GO111MODULE開啟和關閉對Go的包無論是導入,還是下載使用,都有著非常大的區別,老版本可以說就沒有包管理器,無法實現類似npm install或者pip install -r requirements這樣的自動導入所有需要的包。并且go項目也被限制在了go的PATH文件夾中,導入也需要寫較長的路徑,十分不方便。GO111MODULE的出現就是用來解決上述所有的問題。
查詢了一下當前環境的GOPROXY地址:
go env GOPROXY > http://另一個網段網絡:端口/倉庫地址/,direct
執行命令:
go env -w GOPROXY=http://另一個網段網絡:端口/倉庫地址/,direct
重新執行命令go mod tidy,完美通過!
感謝各位的閱讀,以上就是“golang中包無法引入問題如何解決”的內容了,經過本文的學習后,相信大家對golang中包無法引入問題如何解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。