Go語言中有依賴的包,其安裝依賴包的方法有∶1、使用“go get”命令安裝依賴包;2、開啟“go mod”,然後在工程目錄下使用"“ go get"拉包;3、在github中手動下載依賴包並放到對應的目錄;4、拷貝“GOPATH/pkg/mod”下對應的包;5、直接把程式碼放到工程裡面,然後使用“ go tidy」自動規整套件依賴即可。
本教學作業系統:Windows10系統、go1.20版、Dell G3電腦.
#Go語言中有依賴的套件。
雖然go現在已經有比較好用的go mod套件管理工具了。但是由於某些不可描述的原因,在安裝依賴時對於新手依舊會有很多問題,一起來看看怎麼解決吧?
#一、直接go get
從第一天接觸go的套件依賴開始,你的老師或看到的資料都是告訴你:直接go get
。
這是最原始的安裝方式,能解決大部分套件的依賴問題。
但不是100% 都能安裝成功,例如上面截圖裡面的套件:golang.org/x/crypto/ssh
。
#直接go get
,可能會因為不可描述的原因無法存取到golang.org這個網址,套件就無法安裝成功。
二、設定GOPROXY
go mod
是go 1.11 新加的特性。
所以只要go版本大於1.11,就自帶了go mod
套件管理。
這是個好東西,如果開啟了go mod
。
專案裡面初始化了go mod,
再在工程目錄下面使用go get
拉包會自動使用go mod
拉包,並整理到go.mod檔裡。
但是預設使用的來源是國外的,所以安裝依賴套件一般都很慢,或不能成功。
所以需要設定下他們的代理,讓他們從國內的伺服器出去,這樣速度和穩定性都能更好些。
如果使用的是goland可以command ,
喚出偏好設置,在裡面設置代理:
#推薦代理到https://goproxy.cn這個上,七牛雲家的,一直使用,很穩定。
修改好後,記得重新開啟終端機!
如果使用的是其他IDE或命令行,自行百度怎麼設定代理。
設定完成後使用go env
可以看到目前go使用到的環境變量,可以用來檢查配置是否OK。
三、使用github
如果上面兩步驟操作後都還不能安裝成功,就得使用非正常手段來安裝依賴了。
套件的引用情況
首先需要理解go本地的套件是怎麼存放,怎麼引用的。
GOPATH/src/網域名稱/套件名稱
下面。 GOPATH/pkg/mod/網域名稱/套件名稱@版本號碼
下面。 所以可以把套件手動下載放到對應的目錄下面即可。
手動下載包
對於github國內並不是完全不能訪問,只是可能會比較慢,或者時常打不開,此時可以碰碰運氣。
官方套件都可以在這個倉庫下面找到:https://github.com/golang
如何安裝在每個包的README.md裡面都會有描述:
The easiest way to install is to run go get -u http://golang.org/x/net. You can also manually git clone the repository to $GOPATH/src/http://golang.org/x/net.
大部分的依賴套件都能在github裡面找到對應套件。
四、利用人脈
沿用上一個方案的思路,不是所有人都不能科學上網,可以尋求身邊能科學上網的朋友,幫你下載包給你。
然後把GOPATH/pkg/mod
下面對應的包拷貝。
五、使用go mod
最後還有一個場景,那就是知道套件名字,透過文件拿到一些範例demo。
直接把程式碼放到工程裡面,然後使用go tidy
來自動規則套件依賴。
例如: github.com/gin-gonic/gin
報名大都是代碼所在倉庫位址,大都是可以直接存取的。
依賴套件有一個非常好玩的地方,有時使用的套件是套件裡面的套件。
可能有點繞,但很好理解。
例如文章開頭的:golang.org/x/crypto/ssh
這個包,
他就是golang.org/x/crypto
下面的包。
所以直接安裝ssh包,往往會出現找不到套件的情況,所以你就需要往上一層安裝。
以上是Go語言中有依賴的套件嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!