使用dep 配置golang 開發(fā)環(huán)境的操作方法
概要
golang 的包管理一直沒有官方統(tǒng)一的解決方案,因此也產(chǎn)生了很多非官方的包管理工具。 之前我一直使用的 gb(https://getgb.io/) 能夠很好的隔開各個(gè) golang 工程,當(dāng)時(shí) gb 創(chuàng)建的工程不太融入已有的 GOPATH 中。 gb 相當(dāng)于是把工程的目錄作為 GOPATH,并且它的 vendor 目錄也和 golang 自己的 vendor 不太一樣。
dep 的 Roadmap 中已經(jīng)制定了成為 golang 官方包管理工具的計(jì)劃, 所以,使用 dep 來組織自己的 golang 項(xiàng)目以后能夠更好的和其他 golang 項(xiàng)目結(jié)合。
配置
golang 的配置
我的 golang 的配置主要分 3 塊:
•GOROOT: 用于存放 golang 本身,更新 golang 版本時(shí),只要更新這個(gè)就行
•GOPATH: 用于存放 golang 的工具(gofmt,gocode 等等)
•GOPROJECTS:用于存放各種 golang 項(xiàng)目
export GOROOT=/usr/local/go
export GOPROJECTS=/path/to/goprojects
export GOPATH=/path/to/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$GOPROJECTS/bin
export GOPATH=$GOPATH:$GOPROJECTS
go project 的配置
在 $GOPROJECTS/src 下創(chuàng)建自己的 golang 項(xiàng)目
cd $GOPROJECTS/src mkdir myGolangProject cd myGolangProject touch main.go # write some golang code in main.go dep init dep ensure # add dependencies for main.go go install # compile myGolangProject
myGolangProject 可以作為一個(gè) git 倉庫提交到遠(yuǎn)程的 git 倉庫,以便于和其他人分享
總結(jié)
其實(shí)很多 golang 的包管理工具都不錯(cuò),甚至不用包管理工具,通過合理的劃分 GOPATH 也可以達(dá)到 golang 項(xiàng)目管理的目的。 使用 dep,一方面是因?yàn)樗院蠛苡锌赡軙?huì)成為 golang 的官方包管理工具,另一方面也是為了更好的分享 golang 代碼, 畢竟通過 dep,別人可以一鍵安裝所有依賴,避免寫很多安裝說明的文檔。
以上這篇使用dep 配置golang 開發(fā)環(huán)境的操作方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Go?將在下個(gè)版本支持新型排序算法pdqsort
這篇文章主要介紹了Go?將在下個(gè)版本支持新型排序算法:pdqsort,而就Go支持pdqsort算法,在HN上引起了不少的討論,有人表示,我們研究排序算法這么久了,很驚訝我們還能想出能產(chǎn)生實(shí)際改進(jìn)的優(yōu)化方案。對(duì)此,你怎么看,快快上手體驗(yàn)一下吧2022-04-04beego獲取ajax數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇beego獲取ajax數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12goland Duration 和time的區(qū)別說明
這篇文章主要介紹了goland Duration 和time的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12golang實(shí)現(xiàn)圖像驗(yàn)證碼的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用golang實(shí)現(xiàn)簡單的圖像驗(yàn)證碼,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10Kubernetes上使用Jaeger分布式追蹤基礎(chǔ)設(shè)施詳解
這篇文章主要為大家介紹了Kubernetes上使用Jaeger分布式追蹤基礎(chǔ)設(shè)施詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03go語言中的json與map相互轉(zhuǎn)換實(shí)現(xiàn)
本文主要介紹了go語言中的json與map相互轉(zhuǎn)換實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08