Wie kann ich in Go einen projektspezifischen GOPATH definieren?

Mary-Kate Olsen
Freigeben: 2024-11-16 16:33:03
Original
912 Leute haben es durchsucht

How Can I Define a Project-Specific GOPATH in Go?

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

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage