Ich versuche, den Ethereum Geth-Client-Knoten auf einer Ubuntu 14.04 LTS-Box zu erstellen. Ich verwende den Goland-Client 2017.3. Wenn ich versuche, das Projekt zu kompilieren, erhalte ich die folgenden Fehler:
interfaces.go:25:2: cannot find package "github.com/ethereum/go-ethereum/common" in any of:
/usr/local/go/src/github.com/ethereum/go-ethereum/common (from $GOROOT)
/home/robert/go/src/github.com/ethereum/go-ethereum/common (from $GOPATH)
interfaces.go:26:2: cannot find package "github.com/ethereum/go-ethereum/core/types" in any of:
/usr/local/go/src/github.com/ethereum/go-ethereum/core/types (from $GOROOT)
/home/robert/go/src/github.com/ethereum/go-ethereum/core/types
(from $GOPATH)
Ich habe meinen GOPATH überprüft , dessen Wurzel Go-Ethereum ist. Darunter sehe ich zwar ein gemeinsames Verzeichnis, aber kein Typenverzeichnis . Ich habe das Geth-Repo auf GitHub überprüft:
Und ich sehe kein gemeinsames Geschwister- oder Typenprojekt . Weiß jemand, wie man dieses Problem beheben kann?
Das Problem ist, dass die Einstellung von GOPATH falsch ist.
Sie müssen den GOPATH in der IDE auf: setzen /home/robert/go
und dann das Projekt über Open Directory auf öffnen /home/robert/go/src/github.com/ethereum/go-ethereum
.
Sehen Sie sich den Go-Arbeitsbereich an, um zu erfahren, wie Sie einen Go-Arbeitsbereich einrichten.
Nulik
make geth
Sie dieses Problem nicht haben werden, da alle Abhängigkeiten in das./vendor
Verzeichnis entpackt werden und Sie keine GOPATH-Einstellung von Hand benötigen. Wenn Sie einen benutzerdefinierten Ethereum-Build erstellen, sollten Sie sich mit der Verzeichnisstruktur von s vertraut machenGo
, dies sind grundlegende Dinge in GolangNulik
make geth
, das ist alles, was Sie tun müssenRobert Öschler
Nulik