校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > golang使用 gomodule 在公共測試環境管理go的依賴的實例詳解

golang使用 gomodule 在公共測試環境管理go的依賴的實例詳解

熱門標簽:赤峰電銷 谷歌美發店地圖標注 貴州電話智能外呼系統 地圖區域圖標注后導出 官渡電銷外呼管理系統怎么收費 利用地圖標注位置 杭州人工智能電銷機器人費用 400開頭電話怎樣申請 江蘇呼叫中心外呼系統有效果嗎

背景:調試服務最好的方式就是直接上機實踐。對在公司的員工來說,在同一套服務上協同開發比在單獨的環境上開發,應該會更有感覺。有問題可以一起發現并解決,也能夠一同開發需求。
但是,公司的測試機往往是沒辦法連外網的,而golang 的大部分工程都需要直接從github 上下載依賴,這就導致 依賴文件需要先提前上傳到開發機上。那么當開發機上需要運行多個golang 工程的時候,如何共享這些依賴,減少維護依賴庫的工作量呢?

這也是需要大家協作完成的~

最終總結:項目采用 go module + vendor 模式,服務器上使用統一的GOPATH 路徑。

一、go 工程配置

既然是協同開發,工程我們就建議使用 go module 對依賴包進行管理了。這樣大家可以把依賴都放到統一的GOPATH,如果有新增依賴,直接放到GOPATH 目錄即可。

關于go module 的介紹

1、初始化 go.mod 代碼

在工程根目錄中,執行 go mod init 工程的github地址,生成go.mod 文件。

示例:go mod init gitee.com/atamagaii/mygoproject

2、整理依賴

繼續在當前目錄,執行 go mod tidy,整理工程的依賴。
正常情況下,執行完成之后go.mod,并且會生成一個go.sum 文件。


期間可能會因為import 編寫不規范,遇到一些報錯,詳見踩坑記錄。

注意:go.mod 和 go.sum 文件都建議提交到git 上,這樣在多人協同開發一個項目的時候,能保證依賴版本的統一。

3、保存項目依賴到 vendor 目錄

直接執行 go mod vendor 即可
詳細說明參考踩坑記錄。

vendor 目錄每次都可以在本地生成,因此不需要提交到git 上。

標準的工程目錄如下:

二、服務器依賴管理

 1、上傳所有依賴到服務器的GOPATH 目錄

主要是 golang.org、github.com、gopkg.in 目錄

2、編譯工程

在自己工程的 src 目錄,執行:
go build -o xxx xxx.go

三、踩坑記錄。。

1、PuerkitoBio 踩坑

執行gobuild 之后報這個錯誤
go: github.com/PuerkitoBio/goquery@v1.5.1: reading github.com/PuerkitoBio/goquery/go.mod at revision v1.5.1: unknown revision v1.5.1
這個包不知道為啥,通過 go get 下載會自動進行依賴,并進行編譯放到pkg 庫。

解決方法:在開發環境,先通過 go mod vendor 指令將項目本身的直接依賴放到vendor目錄。(這個目錄就可以不用提交了)
生成效果:

然后將這個目錄也放到服務器上,再執行:
go build -mod=vendor -o xxx xxx.go

在modules.txt 中的依賴會優先從vendor 目錄中查找。

到此這篇關于golang使用 gomodule 在公共測試環境管理go的依賴的實例詳解的文章就介紹到這了,更多相關golang在公共測試環境管理go的依賴內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • go自動下載所有的依賴包go module使用詳解
  • Go外部依賴包從vendor,$GOPATH和$GOPATH/pkg/mod查找順序
  • go mod 安裝依賴 unkown revision問題的解決方案

標簽:泰安 武漢 保定 黔西 鷹潭 松原 宜春 河池

巨人網絡通訊聲明:本文標題《golang使用 gomodule 在公共測試環境管理go的依賴的實例詳解》,本文關鍵詞  golang,使用,gomodule,在,公共,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang使用 gomodule 在公共測試環境管理go的依賴的實例詳解》相關的同類信息!
  • 本頁收集關于golang使用 gomodule 在公共測試環境管理go的依賴的實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 南昌市| 亚东县| 漳平市| 从化市| 长兴县| 鲁甸县| 颍上县| 岗巴县| 房产| 辛集市| 吉木乃县| 广汉市| 类乌齐县| 长顺县| 渭南市| 休宁县| 汉中市| 汤阴县| 白河县| 建湖县| 武功县| 通化市| 合肥市| 渭南市| 榆林市| 井陉县| 施秉县| 桐城市| 静海县| 周至县| 西安市| 白朗县| 七台河市| 灵寿县| 肇州县| 霍城县| 龙井市| 军事| 苏尼特右旗| 馆陶县| 囊谦县|