1
resposta

Erro ao subir a aplicação.

Boa noite Prezados, Estou com um problema, quando digito no terminal go run main.go aparece o seguinte erro

go: inconsistent vendoring in C:\Go\src:
        github.com/lib/pq@v1.8.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
        golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt        golang.org/x/net@v0.0.0-20200707034311-ab3426394381: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt   
        golang.org/x/sys@v0.0.0-20200501145240-bc7a7d42d5c3: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt   
        golang.org/x/text@v0.3.3-0.20200430171850-afb9336c4530: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
run 'go mod vendor' to sync, or use -mod=mod or -mod=readonly to ignore the vendor directory

quando digito go mod vendor aparece

go/clientego2 imports
        clientego2/routes: package clientego2/routes is not in GOROOT (c:\go\src\clientego2\routes)
go/clientego2/controllers imports
        clientego2/models: package clientego2/models is not in GOROOT (c:\go\src\clientego2\models)
go/clientego2/models imports
        clientego2/db: package clientego2/db is not in GOROOT (c:\go\src\clientego2\db)
go/clientego2/routes imports
        clientego2/controllers: package clientego2/controllers is not in GOROOT (c:\go\src\clientego2\controllers)

agradeço desde já.

1 resposta

É um problema de localização do seu diretório clientego2/routes

Lembrando que:

GOROOT=C:\Go 
GOPATH=C:\Users\ketchup\go 

GOROOT é o diretório onde o Go está instalado GOPATH é o diretório do workspace dos seus projetos

Todos os pacotes importados são pesquisados ​​nas variáveis ​​de ambiente GOROOT e GOPATH primeiro. Certifique-se de que seu pacote "clientego2/routes" esteja em algum lugar desses diretórios.

Suponha que GOPATH esteja definido como: /Users/test/Desktop/GoProject

e GOROOT : /usr/local/go (onde o go está instalado). Se um arquivo em seu GoProject tem um pacote importado como import "abc/def/packageName" então, ele deve estar presente em qualquer um dos dois paths abaixo:

/Users/test/Desktop/GoProject/src/abc/def/packageName/* 
/usr/local/go/src/abc/def/packageName/*

Caso contrário, você obterá o erro relatado na pergunta.

Os arquivos dentro desses diretórios terão a primeira linha como

package packageName

afirmando que todos esses arquivos constituem um pacote packageName