Jestem nowy w Go i próbuję skonfigurować projekt Go z minimalną dokumentacją: https://github.com/alphagov/metadata-api
Sklonowałem go, ale kiedy próbuję go build
, otrzymuję następujące ostrzeżenia:
main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
/usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT)
/Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH)
main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of:
/usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/alphagov/metadata-api/content_api (from $GOROOT)
/Users/me/go/src/github.com/alphagov/metadata-api/content_api (from $GOPATH)
Zgaduję, że dzieje się tak, ponieważ nie zainstalowałem odpowiednika wymagań Go?
Mój GOPATH
jest ustawiony:
metadata-api$ echo $GOPATH
/Users/me/go
Plik wykonywalny Go jest w formacie
metadata-ape$ echo $PATH
....:/Users/me/go/bin
Co muszę zrobić, aby pomóc Go znaleźć te pakiety?
export PATH=$PATH:/Users/anna/go
i terazgo build
nie generuje żadnych błędów ... ale nie wydaje się, aby cokolwiek generował.Odpowiedzi:
Najpierw zainstaluj pakiet:
próbować
$ go get github.com/Sirupsen/logrus
and check you
$GOPATH
reżTen projekt służy
gom
jako menedżer pakietów,Upewnij się, że zainstalowałeś
gom
lub spróbuj tego polecenia
Myślę, że twoje
$GOPATH
i$PATH
ustawienia są nieprawidłowe,$GOPATH
zmienna środowiskowa określa lokalizację twojego obszaru roboczego, to są moje ustawienia ścieżki:export GOROOT=$HOME/bin/go export GOBIN=$GOROOT/bin export GOPATH=$HOME/golang export PATH=$PATH:$GOBIN
źródło
gom install
wydaje się, że działa, ale skąd wiedziałeś, że ten projekt był używanygom
?go get
i myślę, że dostałem wszystkie moje zależności w tym samym czasie.Miałem podobny problem i
pomógł.
źródło
Udało mi się naprawić podobny problem w Go 1.13.7, wpisując:
export GOPATH=~/go go get github.com/profile/repository (e.g. github.com/Sirupsen/logrus)
źródło
„... Począwszy od wersji Go 1.13, tryb modułu będzie domyślnym trybem dla wszystkich programów ...”
„... Podczas korzystania z modułów GOPATH nie jest już używany do rozwiązywania importów. Jednak nadal jest używany do przechowywania pobranego kodu źródłowego (w GOPATH / pkg / mod) i skompilowanych poleceń (w GOPATH / bin) ...”
źródło