"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que não consigo importar pacotes locais dentro do meu projeto GOPATH?

Por que não consigo importar pacotes locais dentro do meu projeto GOPATH?

Publicado em 2024-11-09
Navegar:530

Why Can\'t I Import Local Packages Within My GOPATH Project?

Problema de importação de pacote GOPATH

Você está enfrentando um problema ao importar pacotes locais em seu GOPATH, mas não em seu diretório inicial. A estrutura do seu projeto, conforme você descreveu, parece estar correta.

Caminhos de importação relativos

No Go, caminhos de importação relativos são desencorajados. Eles se destinam principalmente à experimentação e não são totalmente suportados pelos comandos go build e go install. Para que seu projeto funcione perfeitamente com as ferramentas Go, é recomendável evitar o uso de importações relativas.

Estrutura GOPATH

GOPATH é uma variável de ambiente que especifica diretórios onde Go procura pacotes. O GOPATH padrão é definido como seu diretório inicial ($HOME/go). No seu caso, quando o projeto está localizado em $GOPATH/src/project, você não pode importar pacotes locais porque as ferramentas Go não conseguem localizá-los corretamente.

Recomendações

Para resolver esse problema, considere o seguinte:

  • Use caminhos de importação absolutos: Em vez de usar caminhos de importação relativos, use os caminhos absolutos dos seus pacotes locais. No seu caso, a instrução de importação para o seu pacote de modelos deve ser:

    import "projpath/models"

    Substitua projpath pelo caminho real para o diretório do projeto.

  • Considere um sistema de fornecedores: Um sistema de fornecedores como Go Modules ou Go Vendoring pode ajudar a gerenciar dependências e oferecer suporte a caminhos de importação relativos. Eles permitem que você especifique e rastreie pacotes locais dentro do seu projeto.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3