2016-06-10 11 views
5

Ich bin mit folgenden Befehl ein:Kann nicht vet-Paket installieren mit bekommen

$ go get -u golang.org/x/tools/cmd/vet 

Paket golang.org/x/tools/cmd/vet: nicht finden können „golang.org/x/ verpacken tools/cmd/vet "in jedem von: C: \ Entwicklung \ Software \ gehen \ src \ golang.org \ x \ tools \ cmd \ vet (von $ GOROOT)
C: \ Entwicklung \ Software \ go \ downloaded_packages \ src \ golang.org \ x \ Werkzeuge \ cmd \ vet (von $ GOPATH)

Ich kann nicht wirklich verstehen, wie cannot find package mit get Sinn ergibt. Es soll das Paket aus dem Internet bekommen. Warum sucht es lokal?

+1

Es heruntergeladen das Repo, und der Tierarzt Befehl nicht lokal in der Codebasis vorhanden. Das 'vet'-Tool ist standardmäßig in der go-Distribution enthalten. – JimB

+0

@JimB Wenn es standardmäßig enthalten ist, dann denke ich, es sollte es in 'GOROOT' finden? –

+0

Nein, weil die Quelle in GOROOT einen anderen Pfad hat. ('$ GOROOT/src/cmd/vet'), aber es sollte schon gebaut werden. – JimB

Antwort

8

@ JimB summiert es in den Kommentaren - Sie müssen go vet nicht separat installieren.

Aber nur der Vollständigkeit halber ist die direkte Antwort auf OP Frage, dass der Code für den go vet Befehl nicht mehr golang.org/x/tools/cmd/vet lebt (siehe https://golang.org/doc/go1.2#go_tools_godoc - und dass, da der Code auf GitHub bewegt hat).

Also, wenn Sie laufen: go get -u golang.org/x/tools/cmd/vet es scheint, dass es git ist das golang.org/x/tools/cmd Paket klonen und dann zu versuchen, golang.org/x/tools/cmd/vet zu kompilieren, die in einem Fehler resultierende („nicht-Paket finden ...“), weil der „Tierarzt“ Teil ‚doesn Es existiert - es ist vor einer Weile ausgezogen. (go get zuerst downloads/klont den Code und dann versucht, das Paket auf Ihrem lokalen System zu kompilieren.)

Und all das ist zu sagen, haben Sie wahrscheinlich bereits go vet - versuchen Sie zu tippen "go vet -h" und wenn es funktioniert (Sie sollten etwas wie "usage: vet ..." sehen), Sie sind eingestellt.