[Go 1.13] Que faire lorsque la disposition de répertoire inattendue: apparaît


 Je pense que cela fonctionnera.

---

 Une erreur qui s'est produite lorsque je développais avec Go et que j'ai essayé de séparer les packages à l'aide de fichiers.
 Je l'ai résolu pour le moment, j'ai donc pris une note immédiatement. .. ..


## environnement

version go version go1.13.14 linux/amd64 centos 7

Structure du répertoire ./ | |--sample/ | | | |--sample.go | |--main.go


## Code réel


#### **`main.go`**
```go

package main

import "./sample"

func main() {
	a := sample.Foo("test")
	sample.PrintFoo(a)
}

sample.go


package sample

import "fmt"

func Foo(s string) string {
	return "aaa " + s + " bbb"
}

func PrintFoo(s string) {
	fmt.Println(s)
}
[root@marny ---]# go build -o practice
unexpected directory layout:
        import path: _/develop/go/src/test/marny/sample
        root: /develop/go/src
        dir: /develop/go/src/test/marny/sample
        expand root: /develop/go
        expand dir: /develop/go/src/test/marny/sample
        separator: /

De quel genre d'erreur s'agit-il

L'erreur «disposition du répertoire inattendue:» semble être une erreur indiquant que le chemin du paquet importé n'est pas spécifié.

J'ai moi-même édité centos7 (vbox) en le connectant à windows avec samba, donc il n'y avait pas d'erreur dans le code source ...

Solution

Dans mon cas, ** $ GOPATH ** est spécifié comme / develop / go. Selon les spécifications GOPATH, je génère des bins et des srcs et développe Go, mais une erreur se produit ici.

La solution est de changer import. / Sample dans main.go par le chemin relatif vu de $ GOPATH / src.

Donc,

main.go


package main

import "test/marny/sample"

func main() {
	a := sample.Foo("test")
	sample.PrintFoo(a)
}

Je pense que cela résoudra le problème.

GOPATH est ennuyeux.

Recommended Posts

[Go 1.13] Que faire lorsque la disposition de répertoire inattendue: apparaît
[openpyxl] Que faire lorsque IllegalCharacterError apparaît dans pandas.DataFrame.to_excel
Que faire lorsque [Errno 2] Aucun fichier ou répertoire de ce type n'apparaît en Python
Que faire quand Ubuntu plante
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
OSError: [Errno 40] Que faire lorsque Message trop long apparaît
Que faire lorsque "En-tête HTTP_HOST non valide" apparaît dans Django
Que faire si un avertissement de plate-forme non sécurisée apparaît lors de l'exécution de Python
[Mémorandum] Que faire lorsqu'un avertissement apparaît après l'exécution de pip list
Que faire lorsque pyinstaller: erreur: argument --add-binary: valeur add_data_or_binary invalide: apparaît
[Docker] Que faire en cas d'erreur Impossible de trouver le git binaire apparaît
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
Que faire quand une PermissionError dans tempfile.mkstemp se produit
Que faire si «TypeError: must be string, not int…» apparaît lors de l'utilisation de strptime
Que faire lorsqu'un avertissement apparaît autour de l'intégration de Python dans CheckHealth de Neovim
Que faire lorsque "TypeError: type de données non compris" apparaît dans numpy.zeros de python
Que faire lorsque l'imitation est intégrée à Python
curl: (60) Que faire lorsque le certificat de l'émetteur n'est pas valide.
Que faire lorsque gdal_merge génère un fichier énorme
Que faire lorsque vous déclenchez ValueError, "type de hachage non pris en charge"
Que faire lorsque "impossible d'importer le nom xxx" [Python]
[Python] Que faire quand Aucun module nommé "pyproj.datadir" n'apparaît lors de la création d'Exe avec PyInstaller
Que faire si ENOENT: aucun fichier ou répertoire de ce type n'apparaît pendant l'installation de npm
Que faire lorsque "Erreur de type: doit être _socket.socket, pas socket" apparaît dans GAE
[AWS] Que faire lorsque vous souhaitez piper avec Lambda
Procédures à suivre lorsque le japonais n'est pas affiché dans matplotlib
Que faire lorsque la police PyCharm est étrange ou déformée
Que faire lorsqu'une erreur de suppression se produit lors de la mise à jour de conda
Que faire lorsque des séries booléennes non alignables sont fournies comme indexeur
Que faire lorsqu'une erreur se produit avec import _ssl
Que faire si l'installation du package échoue lors du déploiement sur heroku
ImportError: Pas de module Que faire quand on vous dit
[AWS] Que faire lorsque la commande ping provoque un "délai d'expiration"
Que faire si yum casse
Que faire avec l'installation de Magics
[virtualbox] Que faire lorsque [Impossible de récupérer la liste des miroirs] apparaît lorsque la mise à jour yum est effectuée sur CentOS7
TypeError: __init__ () a obtenu un argument de mot-clé inattendu Que faire avec 'état'
Que faire lorsqu'une vidéo ne peut pas être lue par cv2.VideoCapture
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Que faire lorsque les paramètres de l'extension jupyterlab ne sont pas reflétés
Que faire avec la sortie de PYTHON?
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Que faire quand UnicodeDecodeError se produit pendant read_csv dans pandas (pd.read_table ())
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
Que faire lorsque le type de valeur est ambigu en Python?
[Python] Que faire en cas de violation de PEP8 lors du processus d'importation à partir du répertoire ajouté à sys.path
Que faire lorsque "Erreur OS: [WinError 126] Le module spécifié est introuvable" apparaît dans la torche d'importation
Que faire lorsque le résultat téléchargé via scrapy est en anglais
Que faire si aucune documentation Python trouvée pour ... apparaît dans pydoc
[Python] Que faire lorsqu'une erreur liée à l'authentification SSL est renvoyée
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Que faire si vous obtenez une erreur lors du chargement de mnist
Remarques sur ce qu'il faut faire lorsque l'effacement des ombres ne fonctionne pas avec scatter () / scatter3d () de matplotlib
[OSX] [pyenv] Que faire lorsqu'une erreur SSL se produit dans pip
Que faire si psycopg2 génère une erreur lorsque pipenv se verrouille dans un environnement Pipenv