Le compilateur Go peut-il être installé sur Windows?


94

J'ai cherché sur golang.org un compilateur Windows, mais je n'arrive pas à le trouver. Je ne vois que des compilateurs Linux et OS X. Est-ce que quelqu'un sait si la programmation Go peut être effectuée sous Windows, ou est-ce quelque chose que Google n'a pas encore implémenté?

Mise à jour: semble qu'à partir de maintenant (novembre 2012) golang.org a des versions binaires officielles pour Windows 32 / x86_64.


groups.google.com/group/golang-nuts - vous y trouverez votre réponse.
kar

2
gofmt.com/compile.html si vous souhaitez essayer une programmation Go non destructive sous Windows. Il peut compiler, lier et exécuter vos programmes et vous montrer la sortie. Veuillez m'envoyer un message privé si vous trouvez une vulnérabilité sur ce site. Merci!
Randy Sugianto 'Yuku'

Mise à jour: le compilateur erGo est sorti pour les tests bêta cette semaine. Le développeur Russel Newquist a répondu dans les commentaires ci-dessous. newquistsolutions.com/ergo
nathan

4
Je vote pour fermer cette question comme hors-sujet car le site golang.org propose des packages Windows officiels depuis la première version officielle (1.0).
icza

Réponses:


54

Il existe maintenant des installateurs pour Windows, voir Aller sous Windows

HelloWorld.go

package main

func main() {
    println("Hello World!");
}

Compilez avec 8g, liez avec 8lpuis exécutez. Exemple:

8g HelloWorld.go
8l -o HelloWorld.exe HelloWorld.8
HelloWorld

Une autre version Win32 de Go (publiée le 04/08/2010
Kolo32

Malheureusement, je ne parviens pas à faire fonctionner correctement ce port. l'éditeur de liens 8l se plaint toujours de l'absence de runtime.a et il plante également peu de temps après l'invocation.
greatwolf

1
@Victor: Je viens de le configurer (le 11/12/2010), et cela fonctionne très bien pour compiler et relier les exemples HelloWorld, PrimeSieve et Wiki. Et les trois programmes fonctionnent.
Lawrence Dol

1
Le port mingw semble fonctionner sans avoir besoin d'installer un environnement spécial ( code.google.com/p/gomingw/downloads/list ). Au moins, il compile et relie plusieurs exemples que j'ai essayés.
Lawrence Dol

1
Merci à Jonas pour la réponse gentille et utile.
bhadra

23

Il n'a pas encore été ajouté à la FAQ Go Lang, mais à partir du journal des modifications :

Pourquoi Go ne fonctionne-t-il pas sous Windows? Nous comprenons qu’une fraction importante des ordinateurs dans le monde utilisent Windows et ce serait formidable si ces ordinateurs pouvaient exécuter des programmes Go. Cependant, l'équipe Go est petite et nous n'avons pas les ressources pour faire un portage Windows pour le moment. Nous serions plus que disposés à répondre aux questions et à offrir des conseils à toute personne souhaitant développer une version Windows.


5
Bien que cette réponse soit fortement votée, elle n'est plus à jour.


7

Malgré le fait que Go n'a que deux jours, cette question est déjà devenue une FAQ sur la liste de diffusion Go. (Malheureusement, il n'a pas encore été ajouté à la liste des FAQ sur le site Web.)

Fondamentalement, Go est fait par un très petit groupe de personnes, donc ils n'ont tout simplement pas le temps ni les ressources pour faire un portage Windows. Ce très petit groupe de personnes se trouve également être les personnes qui ont inventé Unix, donc c'était en quelque sorte une première cible naturelle.


AFAIK, ils développent Go pendant leur temps de 20%, pas à plein temps. (C'est ce que j'ai lu, de toute façon.) Quoi qu'il en soit, ma réponse était censée être très-grande-langue-très-profondément dans la joue.
Jörg W Mittag

2
En fait, la page d'historique indique que, bien que cela ait commencé comme un projet de temps libre, c'est maintenant un projet à plein temps pour au moins certains des développeurs. J'ai édité la réponse pour supprimer essentiellement les remarques sur les contraintes de temps partiel.
Jörg W Mittag

Et je vous vote pour cela :)
OscarRyz

Ils ont inventé Unix? Alors c'est un projet de retraite?
Henk Holterman

10
Eh bien, ils ont également inventé Plan9, le successeur d'Unix. Et Inferno, le successeur de Plan9. Et C. And Limbo, le langage de programmation des systèmes garbage collection dans lequel Inferno est écrit. (Donc, dans un certain sens, le successeur de C et prédécesseur de Go.) Et le langage de programmation concurrente Newsqueak (également dans un certain sens un prédécesseur de Go, en particulier les Goroutines.) Et le Garbage Collector Very Concurrent qui est utilisé dans Limbo, Inferno et aussi dans certaines implémentations de Standard ML. Et UTF-8. Donc, ce n'est pas comme s'ils n'avaient pas été occupés depuis 40 ans entre Unix et Go.
Jörg W Mittag

3

Donc, si vous, comme moi, êtes sous Windows la plupart du temps et que vous voulez faire de la programmation Go dès maintenant, vous pouvez le faire sur une VM. J'utilise VirtualBox exécutant Ubuntu en mode sans bruit. Je l'ai déjà configuré car j'aime mieux Linux que Windows pour beaucoup de choses.

Construire et travailler avec Go a été totalement indolore pour moi. J'ai un Bash ouvert dans un terminal pour exécuter ma compilation et essayer mon application. Le répertoire source est un dossier partagé entre Windows et Linux (une fonctionnalité VirtualBox mais je suis sûr que VMWare a la même chose). J'édite mon code dans Komodo Edit sous Windows et j'utilise Mercurial pour le même code source sur les deux OS.


Comme suggéré ci-dessus, j'ai eu ubuntu sur la machine Windows (avec virtualbox) et je suis parti.
user132797

3

Pas encore.

Les auteurs de Go ont des racines très très profondes sur des systèmes d'exploitation non Windows (Trivia: qui d'entre eux a créé rien de moins que le système d'exploitation UNIX)

Donc, ne vous attendez pas à avoir un port Windows de leur part de si tôt.

Le langage est open source, donc ce ne sera qu'une question de temps (faites-le de 6 à 8 mois Ehrm) car une implémentation Windows sera disponible.


2
Votre connexion entre un auteur d'Unix écrivant le compilateur pendant son temps libre et "ne vous attendez pas à un port Windows" est intéressante, étant donné qu'ils soulignent dans le changelog (voir la réponse de mbarnett) que c'est juste parce qu'ils n'ont pas les ressources .
Jed Smith

2
Juste une autre formulation (douce) pour «ne se soucie pas».
ttvd

1
Oui, c'est comme si Linus créait lui-même un port de git pour Windows. Cela n'arrivera jamais (le port est en cours de création par d'autres cependant)
OscarRyz

0

Bien qu'il n'y ait pas de version Windows pour le moment, il peut vraisemblablement être compilé à l'aide de Cygwin sur une plate-forme Windows.


1
Vous pourriez le compiler sous cygwin avec beaucoup de retouches, mais même dans ce cas, vous vous retrouveriez avec un compilateur 6g / 8g qui produit ELF, pas un binaire Windows natif. Cependant, ce serait toujours une bonne première étape. code.google.com/p/golang-on-cygwin Une fois les compilations réussies, l'étape suivante consiste à réparer le compilateur pour générer le code exécutable de Windows.
Alan S


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.