Maison > développement back-end > Golang > Quelle est la différence entre « go build » et « go install » dans Go ?

Quelle est la différence entre « go build » et « go install » dans Go ?

DDD
Libérer: 2024-12-02 18:01:15
original
431 Les gens l'ont consulté

What's the Difference Between `go build` and `go install` in Go?

Que fait réellement Go Install ?

La documentation Go n'explique pas la différence entre go build et go install dans détail. On pourrait s'attendre à ce que install suive le modèle make install : il prend les artefacts compilés et les place dans leur emplacement final désigné. Cependant, dans le cas de go install, il les place dans GOROOT/bin à la place.

Go Build vs Go Install

go build compile uniquement le fichier exécutable et le déplace vers la destination spécifiée. D'un autre côté, go install effectue des tâches supplémentaires :

  • Déplace le fichier exécutable vers $GOPATH/bin
  • Mette en cache tous les packages non principaux importés dans $GOPATH/pkg

Les dépendances mises en cache sont ensuite utilisées dans les compilations ultérieures, à condition que le code source reste inchangé.

Une visualisation de l'arborescence des packages

Pour illustrer les résultats de l'utilisation de go build et go install :

├── bin
│   └── hello  # by go install
└── src 
    └── hello
        ├── hello  # by go build
        └── hello.go
Copier après la connexion

Remarque : go build génère le fichier exécutable dans le répertoire courant, tandis que go install le place dans $GOPATH/bin.

Pour des informations plus détaillées et des fonctionnalités avancées, reportez-vous à la documentation officielle de Go : [https://go.dev/doc/install/troubleshooting#how-go-install-works]( https://go.dev/doc/install/troubleshooting#how-go-install-works)

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal