十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
今天小編給大家分享的是golang熱更新的技巧,很多人都不太了解,今天小編為了讓大家更加了解golang,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。
golang可以熱更新。
下面我們就來看一下使用go+realize實(shí)現(xiàn)熱更新:
安裝realize
因?yàn)橹绊?xiàng)目里面安裝了 gin 作為 web 框架,所以路由都已經(jīng)寫好了,供后面測(cè)試的時(shí)候用。
go get github.com/oxequa/realize
安裝的時(shí)候可能會(huì)提示安裝某個(gè)包失?。╣olang.org開頭),不用慌,這幾個(gè)包可以去 golang 的倉(cāng)庫(kù)克隆下來,放到 $GOPATH/src/golang.org/x 目錄下。
配置
運(yùn)行 realize init 進(jìn)行一步步配置,也可以一直回車,然后參考我的配置再修改下即可,schema 下的 name 和 path 請(qǐng)按照實(shí)際情況寫。如果你的機(jī)器是 Mac,請(qǐng)把殺進(jìn)程命令換成pkill,這一步很重要,否則重新編譯時(shí) Gin 會(huì)一直這樣提示,導(dǎo)致熱更新失敗。
[GIN-debug] [ERROR] listen tcp :8080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted
settings: files: outputs: status: false path: "" name: .r.outputs.log logs: status: false path: "" name: .r.logs.log errors: status: true path: "" name: .r.errors.log legacy: force: false interval: 100ms server: status: true open: false port: 8080 host: http://localhost schema: - name: gin_app path: E:/WorkPlace/Go/app/gin_app/ commands: # clean: # status: true # vet: # status: true # fmt: # status: true # test: # status: true # generate: # status: true install: status: true # build: # status: true run: status: true watcher: extensions: - go paths: - / scripts: - type: before command: tskill gin_app output: true ignored_paths: - .git - .realize - vendor
修改realize包
依次執(zhí)行下面命令
cd /go/src/github.com/oxequa/realize git fetch git checkout v2.0.2 go get github.com/oxequa/realize
再去項(xiàng)目目錄下運(yùn)行 realize start 就可以了,熱更新也正常了。
關(guān)于golang熱更新的技巧就分享到這里了,當(dāng)然并不止以上和大家分析的辦法,不過小編可以保證其準(zhǔn)確性是絕對(duì)沒問題的。希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。