Maison >développement back-end >Golang >Quelle est la différence entre « go build » et « go install », et où installent-ils les exécutables ?
Disséquer "go install" : démêler le processus de construction et d'installation
Souvent laissée inexpliquée dans la documentation, la distinction entre go build et go l'installation peut laisser les développeurs perplexes. Alors que la plupart s'attendent à ce que go install reflète la fonctionnalité de make install en déplaçant les exécutables compilés vers un emplacement désigné, ils sont surpris de trouver les résultats résidant dans le répertoire GOROOT/bin. Cet article vise à clarifier le but et le comportement des deux commandes.
Que se passe-t-il réellement ?
go build est un outil de compilation simple. Il assemble simplement le fichier exécutable et le stocke à la destination spécifiée. go install, en revanche, exécute un processus légèrement plus complexe :
Visualisation de l'arborescence des packages
Pour illustrer les effets de go build et go install, considérez l'arborescence de paquets suivante :
. ├── bin │ └── hello # by go install └── src └── hello ├── hello # by go build └── hello.go
L'exécutable hello est compilé par go build et réside dans le src/hello, pendant que go install le place dans $GOPATH/bin et stocke les caches de dépendances dans $GOPATH/pkg.
L'emplacement d'installation peut-il être personnalisé ?
Contrairement à make install, go install ne fournit pas d'option permettant de spécifier un répertoire d'installation personnalisé. Pour atteindre ce niveau de contrôle, il est nécessaire de créer un Makefile qui définit le processus de construction et d'installation. Cependant, cette approche n'est généralement pas recommandée.
Contexte supplémentaire
Pour plus d'informations, reportez-vous à la documentation officielle sur les sujets suivants :
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!