สามารถติดตั้ง Go compiler บน Windows ได้หรือไม่?


94

ฉันมองหาคอมไพเลอร์ของ Windows ในgolang.orgแต่ดูเหมือนจะหาไม่เจอ ฉันเห็นเฉพาะคอมไพเลอร์ Linux และ OS X มีใครรู้บ้างว่าการเขียนโปรแกรม Go สามารถทำได้บน Windows หรือเป็นสิ่งที่ Google ยังไม่ได้ติดตั้ง

อัปเดต: ดูเหมือนว่า ณ ตอนนี้ (พ.ย. 2555) golang.orgมีการเผยแพร่ไบนารีอย่างเป็นทางการสำหรับ windows 32 / x86_64


groups.google.com/group/golang-nutsคุณจะพบคำตอบที่นั่น
kar

2
gofmt.com/compile.htmlหากคุณต้องการลองเขียนโปรแกรม Go แบบไม่ทำลายบน Windows สามารถคอมไพล์เชื่อมโยงและรันโปรแกรมของคุณและแสดงผลลัพธ์ โปรดส่งข้อความส่วนตัวถึงฉันหากคุณพบช่องโหว่ใด ๆ ในไซต์นั้น ขอบคุณ!
Randy Sugianto 'Yuku'

อัปเดต: คอมไพเลอร์ erGo เปิดตัวสำหรับการทดสอบเบต้าในสัปดาห์นี้ ผู้พัฒนา Russel Newquist ตอบในความคิดเห็นด้านล่าง newquistsolutions.com/ergo
nathan

4
ฉันโหวตให้ปิดคำถามนี้เป็นนอกประเด็นเนื่องจากเว็บไซต์golang.orgนำเสนอแพ็คเกจ windows อย่างเป็นทางการตั้งแต่การเปิดตัว (1.0) อย่างเป็นทางการครั้งแรก
icza

คำตอบ:


54

ขณะนี้มีตัวติดตั้งสำหรับ Windows โปรดดูไปที่ภายใต้ Windows

HelloWorld.go

package main

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

คอมไพล์ด้วย8gเชื่อมโยง8lและดำเนินการ ตัวอย่าง:

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

รุ่น Win32 อื่นของ Go (เปิดตัวเมื่อ 2010-08-04): code.google.com/p/gomingw/downloads/list
Kolo32

ขออภัยฉันไม่สามารถทำให้พอร์ตนี้ทำงานได้อย่างถูกต้อง ตัวเชื่อมโยง 8l มักจะบ่นเกี่ยวกับรันไทม์อยู่เสมอขาดหายไปและยังหยุดทำงานไม่นานหลังจากเรียกใช้
greatwolf

1
@Victor: ฉันเพิ่งตั้งค่านี้ (ในวันที่ 2010-12-11) และใช้งานได้ดีสำหรับการรวบรวมและเชื่อมโยงตัวอย่าง HelloWorld, PrimeSieve และ Wiki และทั้งสามโปรแกรมทำงาน
Lawrence Dol

1
ดูเหมือนว่าพอร์ต mingw จะทำงานได้โดยไม่ต้องติดตั้งสภาพแวดล้อมพิเศษใด ๆ ( code.google.com/p/gomingw/downloads/list ) อย่างน้อยก็รวบรวมและเชื่อมโยงหลายตัวอย่างที่ฉันได้ลอง
Lawrence Dol

1
ขอบคุณ Jonas สำหรับคำตอบที่ดีและมีประโยชน์
bhadra

23

ยังไม่ได้เข้าสู่คำถามที่พบบ่อยของ Go Lang แต่จากบันทึกการเปลี่ยนแปลง :

ทำไม Go ถึงไม่ทำงานบน Windows? เราเข้าใจว่าคอมพิวเตอร์ส่วนใหญ่ในโลกใช้ Windows และจะดีมากถ้าคอมพิวเตอร์เหล่านั้นสามารถเรียกใช้โปรแกรม Go ได้ อย่างไรก็ตามทีม Go มีขนาดเล็กและเราไม่มีทรัพยากรในการทำพอร์ต Windows ในขณะนี้ เรายินดีที่จะตอบคำถามและให้คำแนะนำแก่ทุกคนที่ต้องการพัฒนาเวอร์ชัน Windows


6
แม้ว่าคำตอบนี้จะได้รับการโหวตอย่างมาก แต่ก็ล้าสมัยแล้ว


7

แม้จะมีความจริงที่ว่าไปเป็นเพียงสองวันเก่าคำถามนี้ได้แล้วกลายเป็นคำถามที่พบบ่อยเกี่ยวกับเมลไป (ขออภัยยังไม่ได้เพิ่มลงในรายการคำถามที่พบบ่อยบนเว็บไซต์)

โดยทั่วไป Go จะทำโดยคนกลุ่มเล็ก ๆ ดังนั้นพวกเขาจึงไม่มีเวลาหรือทรัพยากรในการทำพอร์ต Windows คนกลุ่มเล็ก ๆ นั้นก็เป็นกลุ่มคนที่คิดค้น Unix ขึ้นมานั่นจึงเป็นเป้าหมายแรกโดยธรรมชาติ


AFAIK พวกเขาพัฒนา Go ในช่วงเวลา 20% ไม่ใช่เต็มเวลา (นั่นคือสิ่งที่ฉันอ่านอยู่ดี) อย่างไรก็ตามคำตอบของฉันหมายถึงลิ้นที่ใหญ่มาก - ลึกมากในแก้ม
Jörg W Mittag

2
จริงๆแล้วหน้าประวัติระบุว่าในขณะที่เริ่มต้นเป็นโปรเจ็กต์สำรอง แต่ตอนนี้เป็นโปรเจ็กต์เต็มเวลาสำหรับนักพัฒนาอย่างน้อยบางคน ฉันแก้ไขคำตอบเพื่อลบข้อสังเกตเกี่ยวกับข้อ จำกัด นอกเวลาโดยทั่วไป
Jörg W Mittag

และฉันก็โหวตให้คุณ :)
OscarRyz

พวกเขาคิดค้น Unix? นี่คือโครงการเกษียณ?
Henk Holterman

10
พวกเขายังคิดค้น Plan9 ซึ่งเป็นตัวตายตัวแทนของ Unix และ Inferno ผู้สืบทอดของ Plan9 และ C. และ Limbo ซึ่งเป็นภาษาการเขียนโปรแกรมระบบที่เก็บรวบรวมขยะที่ Inferno เขียนขึ้น (ในแง่หนึ่งก็คือผู้สืบทอดของ C และรุ่นก่อนของ Go) และภาษาการเขียนโปรแกรมพร้อมกันของ Newsqueak (ในบางแง่ก็เป็นบรรพบุรุษของ Go โดยเฉพาะอย่างยิ่ง Goroutines) และ Very Concurrent Garbage Collector ที่ใช้ใน Limbo, Inferno และในการนำ Standard ML ไปใช้งานบางส่วน และ UTF-8. ดังนั้นจึงไม่เหมือนกับว่าพวกเขาไม่ได้ยุ่งในช่วง 40 ปีระหว่าง Unix และ Go
Jörg W Mittag

3

ดังนั้นถ้าคุณใช้ Windows เป็นเวลานานและต้องการเขียนโปรแกรม Go คุณสามารถทำได้บน VM ฉันใช้ VirtualBox ที่ใช้ Ubuntu ในโหมดดูเหมือนไม่มี ฉันตั้งค่าไว้แล้วเพราะฉันชอบ Linux ดีกว่า Windows ในหลาย ๆ สิ่ง

การสร้างและทำงานกับ Go นั้นไม่เจ็บปวดเลยสำหรับฉัน ฉันเปิด Bash ในเทอร์มินัลเพื่อเรียกใช้บิลด์และลองใช้แอพของฉัน ไดเร็กทอรีต้นทางคือโฟลเดอร์ที่ใช้ร่วมกันระหว่าง Windows และ Linux (คุณสมบัติ VirtualBox แต่ฉันแน่ใจว่า VMWare มีสิ่งเดียวกัน) ฉันแก้ไขโค้ดของฉันใน Komodo Edit บน Windows และใช้ Mercurial สำหรับซอร์สโค้ดเดียวกันบนทั้งสอง OS


ตามที่แนะนำไว้ข้างต้นฉันใช้ Ubuntu บนเครื่อง windows (พร้อม virtualbox) จากนั้นก็ไป
user132797

3

ยัง.

ผู้เขียน Go มีรากฐานที่ลึกซึ้งมากในระบบปฏิบัติการที่ไม่ใช่ Windows (Trivia: ใครเป็นผู้สร้างระบบปฏิบัติการ UNIX ไม่น้อยกว่า)

ดังนั้นอย่าคาดหวังว่าจะมีพอร์ต Windows จากพวกเขาเร็ว ๆ นี้

ภาษาเป็นโอเพ่นซอร์สดังนั้นจึงใช้เวลาไม่นาน (ใช้เวลาประมาณ 6 - 8 เดือน) สำหรับการใช้งาน Windows จะพร้อมใช้งาน


2
ความเชื่อมโยงของคุณระหว่างผู้เขียน Unix ที่เขียนคอมไพเลอร์ในเวลาว่างและ "อย่าคาดหวังว่าจะมีพอร์ต Windows" นั้นน่าสนใจเนื่องจากพวกเขาชี้ให้เห็นในบันทึกการเปลี่ยนแปลง (ดูคำตอบของ mbarnett) ว่าเป็นเพียงเพราะพวกเขาไม่มีทรัพยากร .
Jed Smith

2
อีกคำพูด (เบา ๆ ) สำหรับ "ไม่แคร์"
ttvd

1
ใช่ก็เหมือนกับ Linus สร้างพอร์ตของคอมไพล์สำหรับ Windows ด้วยตัวเอง สิ่งนี้จะไม่เกิดขึ้น (พอร์ตจะถูกสร้างโดยผู้อื่น)
OscarRyz

0

แม้ว่าในขณะนี้จะไม่มีเวอร์ชัน Windows แต่ก็สามารถรวบรวมได้โดยใช้Cygwinบนแพลตฟอร์ม Windows


1
คุณสามารถรวบรวมได้ภายใต้ cygwin ที่มีการทำงานซ้ำจำนวนมาก แต่ถึงอย่างนั้นคุณจะจบลงด้วยคอมไพเลอร์ 6g / 8g ที่ส่งเอาต์พุต ELF ไม่ใช่ไบนารีของ Windows แบบดั้งเดิม อย่างไรก็ตามนี่ยังคงเป็นก้าวแรกที่ดี code.google.com/p/golang-on-cygwin เมื่อการสร้างสำเร็จขั้นตอนต่อไปคือการแก้ไขคอมไพเลอร์เพื่อสร้างโค้ดปฏิบัติการของ Windows
Alan S


-2

การติดตั้ง Go บน windows จะตรงไปตรงมาหากคุณใช้ไฟล์ การทดลอง x32 หน้าต่างพอร์ต เอกสารขั้นตอนการติดตั้ง Go บน windowsสามารถพบได้ที่นี่

คุณอาจต้องการเครื่องมือ MinGW (ทุบตีทำ gcc ฯลฯ ... ): http://sourceforge.net/projects/mingw/files/

และไฟล์และเครื่องมือ GTK + ("all-in-one bundle" รวมถึง pkg-config): http://www.gtk.org/download/win32.php

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.