Ce qui ne va bâtir?
Nouveaux programmeurs ne savent souvent pas ou se confondre ce que la fondamentale d'aller construire commande.
Quoi faire exactement la go build
et go install
commandes construire et où mettent-ils le résultat/de sortie?
Vous devez vous connecter pour publier un commentaire.
Ce que le
go
commande ne dépend de nous de lancer un "normal" d'emballage ou pour la spéciale"main"
paquet.Pour les paquets
go build
construit votre forfait ignore les résultats.go install
s'appuie ensuite installe le paquet dans votre$GOPATH/pkg
répertoire.Pour les commandes (colis
main
)go build
construit la commande et laisse le résultat dans la répertoire de travail courant.go install
construit la commande dans un répertoire temporaire puis le déplace à la$GOPATH/bin
.Fondamentalement, vous pouvez utiliser
go build
de vérifier que les paquets peuvent être construits (ainsi que leurs dépendances), tandis quego install
aussi (de façon permanente) installe les résultats dans les dossiers appropriés de votre$GOPATH
.go build
silencieusement fin si tout est OK, et vous donne des messages d'erreur si le colis ne peut être construit/compilé.Chaque fois que le
go
outil installe un package ou binaire, il installe également quelles que soient les dépendances il a, de sorte que l'exécution dego install
également des packages d'installation de votre programme dépend (disponible au public, "go get" packages), automatiquement.Pour commencer, lisez le officiel Comment Écrire Go Code page.
Plus d'informations sur le
go
outil: CommandementVous pouvez également obtenir de l'aide en exécutant la commande suivante:
Il est également intéressant de noter que, à partir de parcourir 1,5
go install
supprime également les exécutables créés pargo build
(source):Pour compléter la liste,
go run
compile de votre application dans un dossier temporaire, et commence binaire exécutable. Lorsque l'application s'arrête, il correctement nettoie les fichiers temporaires.Question inspiré par Dave Cheney Ce qui ne va bâtir?
Pour le paquet:
Qui ne sera pas vrai après Aller 1.10 (T1 2018), merci à CL 68116 et CL 75473. Voir ce fil, que je référence ici.
En fait...
go install
va changer aussi avec Go 1.10, en outre de la nouvelle cache:go build
, neget
s? J'ai une erreur de compilationcannot find package "github.com/spf13/cobra" in any of:…
. Je ne sais pas comment le dire à l'obtenir. Ai-je besoin explicitement obtenir?go.mod
fichier?go version go1.11.4 linux/amd64
. Je ne sais pas aller.mod. Je suis re-constructionhttps://github.com/cbroglie/mustache/blob/master/cmd/mustache/main.go
, il est étrange que je viens de construire l'ensemble du paquet, et je suis à l'aide de cet exemple comme une base, et je n'ai créer une version de base qui a travaillé (mais pas l'utilisation de cette bibliothèque). Je ne vois pas comment il n'a pas été installé avec la moustache paquet.