Kann Golang im laufenden Betrieb aktualisiert werden?

Freigeben: 2020-03-27 11:13:24
Original
5008 Leute haben es durchsucht

Kann Golang im laufenden Betrieb aktualisiert werden?

Golang kann im laufenden Betrieb aktualisiert werden.

Werfen wir einen Blick auf die Verwendung von go+realize zum Implementieren von Hot-Updates:

Realize installieren

Weil im vorherigen Projekt Gin ist als Webframework installiert, daher wurden die Routen für spätere Tests geschrieben.

go get github.com/oxequa/realize
Nach dem Login kopieren

Während der Installation werden Sie möglicherweise aufgefordert, ein bestimmtes Paket nicht zu installieren (beginnend mit golang.org). Diese Pakete können aus dem Golang-Warehouse geklont und in $GOPATH/src abgelegt werden /golang.org /x-Verzeichnis.

Konfiguration

Führen Sie „realise init“ für eine schrittweise Konfiguration aus. Sie können auch ständig die Eingabetaste drücken und dann auf meine Konfiguration zugreifen und diese ändern Name und Pfad unter dem Schema. Bitte schreiben Sie entsprechend der tatsächlichen Situation. Wenn es sich bei Ihrem Computer um einen Mac handelt, ersetzen Sie bitte den Befehl zum Beenden des Prozesses durch pkill. Dieser Schritt ist sehr wichtig, da Gin sonst beim Neukompilieren immer wieder eine solche Meldung ausgibt, was dazu führt, dass das Hot-Update fehlschlägt.

[GIN-debug] [ERROR] listen tcp :8080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted
Nach dem Login kopieren
rrree

Ändern Sie das Realisierungspaket

Führen Sie die folgenden Befehle nacheinander aus

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
Nach dem Login kopieren

Gehen Sie in das Projektverzeichnis und führen Sie „realise start“ aus normal.

Weitere Golang-Kenntnisse finden Sie in der Spalte Golang-Tutorial auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonKann Golang im laufenden Betrieb aktualisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!