2016-06-10 14 views
5

biegnę następujące polecenie:Nie można zainstalować pakiet weterynarz z idź

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

pakiet golang.org/x/tools/cmd/vet: nie można odnaleźć pakiet „golang.org/x/ tools/cmd/vet "w jednym z: C: \ Development \ Software \ go \ src \ golang.org \ x \ tools \ cmd \ vet (od $ GOROOT)
C: \ Development \ Software \ go \ downloaded_packages \ src \ golang.org \ x \ tools \ cmd \ vet (od $ GOPATH)

Nie mogę naprawdę zrozumieć, w jaki sposób cannot find package ma sens z . Ma dostać pakiet z Internetu. Dlaczego szuka go lokalnie?

+1

Pobrano repozytorium, a komenda weterynarza nie istniała lokalnie w bazie kodu. Narzędzie 'vet' jest domyślnie włączone do dystrybucji go. – JimB

+0

@ JimB Jeśli jest on domyślnie włączony, to domyślam się, że powinien go znaleźć w 'GOROOT'? –

+0

Nie, ponieważ źródło w GOROOT ma inną ścieżkę. ('$ GOROOT/src/cmd/vet'), ale powinien już być zbudowany. – JimB

Odpowiedz

8

@JimB podsumował go w komentarzach - nie trzeba oddzielnie instalować go vet.

Ale tylko pod względem kompletności, bezpośrednią odpowiedź na pytanie OP jest to, że kod na komendę go vet już nie mieszka w golang.org/x/tools/cmd/vet (patrz https://golang.org/doc/go1.2#go_tools_godoc - i od tego, że kod został przeniesiony do GitHub).

Więc po uruchomieniu: go get -u golang.org/x/tools/cmd/vet wydaje się, że to jest git klonowanie pakiet golang.org/x/tools/cmd a następnie próbuje skompilować golang.org/x/tools/cmd/vet czego wynikiem jest błąd („nie można znaleźć pakiet ...”), ponieważ „weterynarz” część robi” istnieje - wyprowadził się jakiś czas temu. (go get pierwsze pliki do pobrania/klonuje kod, a następnie próbuje skompilować pakiet w lokalnym systemie.)

A wszystko to, jak można powiedzieć, prawdopodobnie już masz go vet - spróbuj wpisać "go vet -h" i jeśli działa (powinieneś zobaczyć coś takiego: "use: vet ..."), jesteś ustawiony.

Powiązane problemy