首頁  >  文章  >  後端開發  >  golang可以熱更新嗎

golang可以熱更新嗎

尚
原創
2020-03-27 11:13:244976瀏覽

golang可以熱更新嗎

golang可以熱更新。

下面我們就來看看使用go realize實現熱更新:

#安裝realize

因為之前專案裡面安裝了gin 作為web 框架,所以路由都已經寫好了,供後面測試的時候使用。

go get github.com/oxequa/realize

安裝的時候可能會提示安裝某個包失敗(golang.org開頭),不用慌,這幾個包可以去 golang 的倉庫克隆下來,放到$GOPATH/src/golang.org /x 目錄下。

配置

執行 realize init 進行一步步配置,也可以一直回車,然後參考我的配置再修改下即可,schema 下的name 和path請按照實際情況寫。如果你的機器是 Mac,請把殺進程指令換成pkill,這一步很重要,否則重新編譯時 Gin 會一直這樣提示,導致熱更新失敗。

[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套件

依序執行下面指令

cd /go/src/github.com/oxequa/realize
git fetch
git checkout v2.0.2
go get github.com/oxequa/realize

再去專案目錄下執行 realize start 就可以了,熱更新也正常了。

更多golang知識請關注PHP中文網golang教學欄位。

以上是golang可以熱更新嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn