Projektspezifische GOPATH-Definition
Problem:
Wenn Sie an mehreren Go-Projekten arbeiten, Das Erstellen eines einzigen GOPATH für alle Projekte kann zu Managementproblemen führen. Binärdateien und Bibliotheken von Drittanbietern werden projektunabhängig, was die Verwaltung mehrerer Bibliotheksversionen erschwert.
Lösung:
Es gibt mehrere Ansätze, GOPATH auf einem Per zu definieren -Projektbasis:
Bash-Shell-Funktion:
Für Linux/Unix-Umgebungen kann eine Bash-Shell-Funktion erstellt werden, um den integrierten cd-Befehl zu überschreiben. Die Funktion sucht nach einer .gopath-Datei im aktuellen Verzeichnis und ihren übergeordneten Verzeichnissen und legt den GOPATH entsprechend fest. Beispielcode:
cd () { builtin cd "$@" cdir=$PWD while [ "$cdir" != "/" ]; do if [ -e "$cdir/.gopath" ]; then export GOPATH=$cdir break fi cdir=$(dirname "$cdir") done }
Visual Studio-Code:
Mit der Erweiterung „Go for Visual Studio Code“ können Sie mit VSCode einen globalen GOPATH für Tools konfigurieren Außerdem wird für jedes Projekt ein lokaler GOPATH abgeleitet. Der lokale GOPATH ist auf den übergeordneten Ordner des src-Verzeichnisses festgelegt und somit projektspezifisch.
GOPATH-Module:
Seit Go 1.11 bieten Module einen optionalen Mechanismus für projektbasierten Workflow. Dieser Ansatz macht manuelle GOPATH-Einstellungen überflüssig und verwendet einen detaillierteren Ansatz zur Verwaltung von Projektabhängigkeiten.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go einen projektspezifischen GOPATH definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!