Kann der Go-Compiler unter Windows installiert werden?


94

Ich habe auf golang.org nach einem Windows-Compiler gesucht , aber ich kann ihn anscheinend nicht finden. Ich kann nur Linux- und OS X-Compiler sehen. Weiß jemand, ob Go-Programmierung unter Windows möglich ist oder ob Google dies noch nicht implementiert hat?

Update: Es scheint, dass golang.org ab sofort (Nov. 2012) offizielle Binärversionen für Windows 32 / x86_64 hat.


groups.google.com/group/golang-nuts - dort finden Sie Ihre Antwort.
Kar

2
gofmt.com/compile.html, wenn Sie eine zerstörungsfreie Go-Programmierung unter Windows ausprobieren möchten. Es kann Ihre Programme kompilieren, verknüpfen und ausführen und Ihnen die Ausgabe anzeigen. Bitte senden Sie mir eine private Nachricht, wenn Sie auf dieser Website eine Sicherheitslücke finden. Vielen Dank!
Randy Sugianto 'Yuku'

Update: Der erGo-Compiler wurde diese Woche für Betatests freigegeben. Der Entwickler Russel Newquist antwortete in den Kommentaren unten. newquistsolutions.com/ergo
nathan

4
Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da die Website golang.org seit der ersten offiziellen Version (1.0) offizielle Windows-Pakete anbietet.
icza

Antworten:


54

Es gibt jetzt Installationsprogramme für Windows, siehe Gehe unter Windows

HelloWorld.go

package main

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

Kompilieren mit 8g, verknüpfen mit 8lund dann ausführen. Beispiel:

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

Ein weiterer Win32-Build von Go (veröffentlicht am 04.08.2010): code.google.com/p/gomingw/downloads/list
Kolo32

Leider kann ich diesen Port nicht richtig zum Laufen bringen. Der 8l Linker beschwert sich immer über Runtime.a fehlt und stürzt kurz nach dem Aufruf ab.
Urwolf

1
@ Victor: Ich habe dies gerade eingerichtet (am 11.12.2010) und es funktioniert gut zum Kompilieren und Verknüpfen der HelloWorld-, PrimeSieve- und Wiki-Beispiele. Und alle drei Programme laufen.
Lawrence Dol

1
Der Mingw-Port scheint zu funktionieren, ohne dass eine spezielle Umgebung installiert werden muss ( code.google.com/p/gomingw/downloads/list ). Zumindest kompiliert und verknüpft es einige Beispiele, die ich versucht habe.
Lawrence Dol

1
Vielen Dank an Jonas für die nette und nützliche Antwort.
Bhadra

23

Es hat es noch nicht in die Go Lang FAQ geschafft, aber aus dem Changelog :

Warum läuft Go nicht unter Windows? Wir wissen, dass auf einem erheblichen Teil der Computer weltweit Windows ausgeführt wird, und es wäre großartig, wenn auf diesen Computern Go-Programme ausgeführt werden könnten. Das Go-Team ist jedoch klein und wir haben derzeit nicht die Ressourcen, um einen Windows-Port zu erstellen. Wir sind mehr als bereit, Fragen zu beantworten und jedem, der eine Windows-Version entwickeln möchte, Ratschläge zu geben.


5
Obwohl diese Antwort stark positiv bewertet wird, ist sie jetzt veraltet.


7

Trotz der Tatsache, dass Go erst zwei Tage alt ist, ist diese Frage bereits zu einer FAQ auf der Go-Mailingliste geworden. (Leider wurde es noch nicht zur FAQ-Liste auf der Website hinzugefügt.)

Grundsätzlich wird Go von einer sehr kleinen Gruppe von Personen ausgeführt, sodass sie weder die Zeit noch die Ressourcen haben, um einen Windows-Port auszuführen. Diese sehr kleine Gruppe von Menschen sind zufällig auch die Menschen, die Unix erfunden haben. Das war also eine Art natürliches erstes Ziel.


AFAIK, sie entwickeln Go während ihrer 20% Zeit, nicht Vollzeit. (Das habe ich sowieso gelesen.) Wie auch immer, meine Antwort sollte eine sehr große Zunge sein, sehr tief in der Wange.
Jörg W Mittag

2
Auf der Verlaufsseite heißt es tatsächlich, dass es zwar als Freizeitprojekt begann, jetzt aber zumindest für einige Entwickler ein Vollzeitprojekt ist. Ich habe die Antwort bearbeitet, um die Bemerkungen zu Teilzeitbeschränkungen grundsätzlich zu entfernen.
Jörg W Mittag

Und ich stimme dir dafür zu :)
OscarRyz

Sie haben Unix erfunden? Das ist also ein Altersvorsorgeprojekt?
Henk Holterman

10
Nun, sie haben auch Plan9 erfunden, den Nachfolger von Unix. Und Inferno, der Nachfolger von Plan9. Und C. und Limbo, die Müllsammelsystem-Programmiersprache, in der Inferno geschrieben ist. (Also in gewissem Sinne der Nachfolger von C und der Vorgänger von Go.) Und die gleichzeitige Programmiersprache von Newsqueak (in gewissem Sinne auch ein Vorgänger von Go, besonders die Goroutinen.) Und der Very Concurrent Garbage Collector, der in Limbo, Inferno und auch in einigen Implementierungen von Standard ML verwendet wird. Und UTF-8. Es ist also nicht so, dass sie in den 40 Jahren zwischen Unix und Go nicht beschäftigt waren.
Jörg W Mittag

3

Wenn Sie, wie ich, die meiste Zeit unter Windows arbeiten und jetzt Go-Programmierung durchführen möchten, können Sie dies auf einer VM tun. Ich benutze VirtualBox, auf der Ubuntu im scheinbaren Modus ausgeführt wird. Ich hatte es bereits eingerichtet, weil ich Linux für viele Dinge besser mag als Windows.

Das Bauen und Arbeiten mit Go war für mich völlig schmerzlos. Ich habe einen Bash in einem Terminal geöffnet, um meinen Build auszuführen und meine App zu testen. Das Quellverzeichnis ist ein freigegebener Ordner zwischen Windows und Linux (eine VirtualBox-Funktion, aber ich bin sicher, dass VMWare dasselbe hat). Ich bearbeite meinen Code in Komodo Edit unter Windows und verwende Mercurial für denselben Quellcode auf beiden Betriebssystemen.


Wie oben vorgeschlagen, habe ich Ubuntu auf dem Windows-Computer (mit Virtualbox) bekommen und bin dann losgefahren.
user132797

3

Noch nicht.

Die Autoren von Go haben sehr, sehr tiefe Wurzeln in Nicht-Windows-Betriebssystemen (Wissenswertes: Wer von ihnen hat nicht weniger als das UNIX-Betriebssystem erstellt)?

Erwarten Sie also nicht, bald einen Windows-Port von ihnen zu haben.

Die Sprache ist Open Source, daher ist es nur eine Frage der Zeit (zwischen 6 und 8 ehrm Monaten), bis eine Windows-Implementierung verfügbar ist.


2
Ihre Verbindung zwischen einem Unix-Autor, der den Compiler in seiner Freizeit schreibt, und "Erwarten Sie keinen Windows-Port" ist interessant, da er im Änderungsprotokoll (siehe mbarnetts Antwort) darauf hinweist, dass er nur nicht über die Ressourcen verfügt .
Jed Smith

2
Nur eine weitere (weiche) Formulierung für "egal".
ttvd

1
Ja, es ist so, als würde Linus selbst einen Git-Port für Windows erstellen. Das wird niemals passieren (der Port wird jedoch von anderen erstellt)
OscarRyz

0

Obwohl es derzeit keine Windows-Version gibt, kann sie vermutlich mit Cygwin auf einer Windows-Plattform kompiliert werden .


1
Sie könnten es unter Cygwin mit viel Nacharbeit kompilieren, aber selbst dann würden Sie einen 6g / 8g-Compiler erhalten, der ELF ausgibt, keine native Windows-Binärdatei. Dies wäre jedoch immer noch ein guter erster Schritt. code.google.com/p/golang-on-cygwin Sobald die Builds erfolgreich sind, besteht der nächste Schritt darin, den Compiler so zu reparieren, dass ausführbarer Windows-Code generiert wird.
Alan S


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.