Maison > développement back-end > Golang > Pourquoi « go install » échoue-t-il avec « l'importation locale dans un package non local » et comment puis-je y remédier ?

Pourquoi « go install » échoue-t-il avec « l'importation locale dans un package non local » et comment puis-je y remédier ?

Patricia Arquette
Libérer: 2024-12-30 02:40:11
original
284 Les gens l'ont consulté

Why Does `go install` Fail with

Problème d'importation locale dans un package non local

Lors de la tentative d'installation d'un package (jacob.uk.com) depuis l'extérieur de son répertoire ( src/jacob.uk.com) lors de l'utilisation de go install, un développeur a rencontré l'erreur « importation locale ./greeting dans un package non local ». Cette erreur se produit car les importations locales (c'est-à-dire les importations relatives au sein d'un package) ne sont pas autorisées lors de la spécification d'un package non local pour l'installation.

Solution :

Pour résoudre ce problème, le développeur a deux options :

  1. Changez le répertoire de travail en src/jacob.uk.com puis exécutez go install (sans en précisant le colis). Cela permettra à l’import local de fonctionner correctement. Cependant, toute importation inutilisée dans helloworld.go entraînera toujours des erreurs de compilation.
  2. Utilisez les importations absolues au lieu des importations locales. Remplacez l'instruction d'importation locale (import "./greeting") par l'instruction d'importation absolue (import "jacob.uk.com/greeting"). Cela permettra au package d'être compilé, exécuté et installé à partir de n'importe quel répertoire. Il s'agit de l'approche privilégiée car elle évite le besoin d'importations locales et garantit la cohérence entre les différents répertoires de travail.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal