Warum tritt in meinem Forked Go-Projekt der Fehler „Verwendung eines internen Pakets nicht zulässig' auf?

Barbara Streisand
Freigeben: 2024-10-26 01:48:28
Original
957 Leute haben es durchsucht

 Why is

Go: Verständnis des Fehlers „Nutzung eines internen Pakets nicht zulässig“ in gegabelten Projekten

Bei der Arbeit mit gegabelten Go-Repositorys ist es wichtig zu verstehen die Auswirkungen der Repository-Struktur und der Abhängigkeitspfade.

Stellen Sie sich ein gespaltenes Repository wie „zoono/go-ethereum“ vor, das aus dem Basis-Repository „ethereum/go-ethereum“ stammt. Der beim Ausführen von „go test“ aufgetretene Fehler:

eth/api.go:37:2: use of internal package not allowed
Nach dem Login kopieren

weist darauf hin, dass der Code versucht, auf ein internes Paket im ursprünglichen Repository zuzugreifen, nämlich „github.com/ethereum/go-ethereum/internal/ethapi ."

Forking- und Abhängigkeitspfade

Für einen erfolgreichen Betrieb halten sich Go-Projekte und ihre Abhängigkeiten an bestimmte Verzeichnisstrukturen und Importpfade. Durch die Verzweigung eines Repositorys werden die Abhängigkeitspfade im Code nicht geändert, die normalerweise relativ zum ursprünglichen Repository sind. Dies führt zu dem Fehler, wenn versucht wird, Tests für den gespaltenen Code auszuführen, da die Abhängigkeitspfade nicht mehr gültig sind.

Behebung des Fehlers

Um diesen Fehler zu beheben, Es ist wichtig, die Verzeichnisstruktur des ursprünglichen Repositorys innerhalb des gespaltenen Repositorys beizubehalten. Stellen Sie außerdem sicher, dass die Paketimportpfade in Ihrem Code das gespaltene Repository und nicht das Original widerspiegeln. Dies beinhaltet:

  1. Klonen Ihres gespaltenen Repositorys in der richtigen Verzeichnisstruktur:

    export GOPATH=$HOME/gocodez
    mkdir -p $GOPATH/src/github.com/zoono
    cd $GOPATH/src/github.com/zoono
    git clone [email protected]:<username>/go-ethereum
    Nach dem Login kopieren
  2. Ändern der Paketimportpfade in Ihrem Code, damit sie mit dem übereinstimmen Gegabeltes Repository:

    // Before
    import "github.com/ethereum/go-ethereum/internal/ethapi"
    
    // After
    import "github.com/zoono/go-ethereum/internal/ethapi"
    Nach dem Login kopieren

Durch die Einhaltung dieser Richtlinien können Sie Go-Repositorys effektiv forken und damit arbeiten und so ein nahtloses Testen und Ausführen Ihres Codes gewährleisten.

Das obige ist der detaillierte Inhalt vonWarum tritt in meinem Forked Go-Projekt der Fehler „Verwendung eines internen Pakets nicht zulässig' auf?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!