Maison  >  Article  >  développement back-end  >  Pourquoi ne puis-je pas importer des packages depuis mon répertoire de fournisseurs dans Go 1.6 ?

Pourquoi ne puis-je pas importer des packages depuis mon répertoire de fournisseurs dans Go 1.6 ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 21:55:30749parcourir

Why Can't I Import Packages from My Vendor Directory in Go 1.6?

Vendoring dans Go 1.6 : Dépannage des problèmes d'importation

Comprendre le concept de vending dans Go 1.6 peut être un défi. Décomposons un scénario courant et proposons une solution pour faciliter l'importation de fichiers à l'aide de la nouvelle fonctionnalité du fournisseur.

Problème : Malgré la documentation suivante et les recherches en ligne, une personne ne peut pas importer de packages à l'aide de le répertoire des fournisseurs dans Go 1.6.

Voici un exemple de structure de projet :

.
└── src
    ├── main.go
    └── vendor
        └── github.com
            └── zenazn
                └── goji
                    ├── ...

Et le seul fichier du projet, main.go :

<code class="go">import (
    "github.com/zenazn/goji"
    "github.com/zenazn/goji/web"
)</code>

Variables d'environnement :

<code class="Bash">export GOPATH=~/.go
export GOBIN=$GOPATH/bin
export PATH=$PATH:/usr/local/opt/go/libexec/bin:$GOBIN</code>

Tentatives de commandes de construction :

  • go run ./src/main.go
  • go build ./src/main.go

Solution :

Pour résoudre ce problème, il est crucial de comprendre la façon dont les outils Go gèrent le code source et GOPATH . Pour créer un programme Go :

  1. Créez un répertoire sous $GOPATH/src, par exemple, mkdir $GOPATH/src/myprogram.
  2. Placez tout le code source (y compris le répertoire du fournisseur) là : $GOPATH/src/myprogram/main.go, $GOPATH/src/myprogram/vendor.
  3. Exécutez go install myprogram pour compiler l'application et placez le binaire myprogram résultant dans $GOPATH/bin/myprogram.

Référez-vous à la documentation officielle sur https://golang.org/doc/code.html pour une compréhension complète de ces concepts.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn