Libra on Windows: ลอง build บน Windows แบบไม่ใช้ WSL ดูครับ

Parin Chiamananthapong
KULAPofficial
Published in
3 min readAug 23, 2019

คาดว่าหลายคนน่าจะได้ลอง build ตัว cli ของ Libra เล่นกันไปแล้ว ซึ่งถ้าดูจากบนเว็บ Libra เองจะพบว่าเขายังไม่ support Windows!! วันนี้ก็เลยจะมาลองเขียน blog สั้นๆสำหรับคนใช้ Windows (ซึ่งน่าจะมีจำนวนอยู่พอสมควร) ที่อยากลองเล่น Libra ครับ

เห็นไหม ไม่มี Windows อ่ะ

ทีนี้คำถามคือ ถ้าเราใช้ Windows เราจะมีทางเลือกอะไรได้บ้าง ซึ่งจากเท่าที่ผมดู จะมีทางเลือกคร่าวๆดังนี้

  • ลง WSL สำหรับคนที่มี Windows 10 ซึ่งวิธีสามารถอ่านได้ที่ blog นี้ครับ
    https://medium.com/@srihamat.a/facebook-libra-on-windows-14446bacfb62
  • ใช้ docker แต่จะมีข้อจำกัดที่ต้องใช้ Windows 10 Pro ซึ่งบางคนอาจจะไม่ได้ซื้อ license ตัวนี้ไว้
  • ลง VM (Virtual Machine) ในเครื่องตนเอง
  • ไปสร้าง VM บน cloud (วิธีนี้ผมใช้อยู่ เพราะผมมีสร้าง VM ต่างๆบน cloud ไว้ลอง project ต่างๆอยู่แล้ว)
  • และสุดท้าย ก็คือลงปกติ + แก้ script บางส่วน ซึ่งจะนำเสนอใน blog นี้ครับ

วิธีการลง Libra บน Windows แบบไม่ใช้ WSL

วิธีนี้จะเป็นการลงแบบปกติบน Windows ตรงๆ โดยไม่ได้ใช้ WSL ซึ่งวิธีนี้จากที่ทดลองแล้ว สามารถใช้ได้ทั้ง Windows 7 และ Windows 10 (ดังนั้น Windows 8, 8.1 ก็น่าจะใช้ได้มั้ง) โดยขั้นตอนก็อาจจะไม่ได้ง่ายกว่าวิธีอื่นๆเท่าไรนัก แต่ก็ถือว่าเป็นอีกทางเลือกนึง + ทดลอง hack เล็กๆน้อยๆครับ

แล้วทำไมมันถึงลงบน Windows แบบปกติ ไม่ได้ล่ะ ??

จากเท่าที่ลองแกะ script dev_setup.sh ดู พบว่าจุดสำคัญอยู่ 2 จุดคือ

  1. Windows ไม่สามารถ execute sh script ได้
  2. เมื่อลองแกะ scriptดู ก็จะพบว่ามันมีการเช็ค OS + package manager ที่ใช้
script บางส่วนของ dev_setup.sh

ซึ่งเมื่อเรารู้ยังงี้แล้ว จะแก้ script ให้ใช้บน Windows ได้ก็ไม่ใช่เรื่องยาก ซึ่งข้อแรกเราสามารถแก้ได้โดยใช้ git bash ได้อยู่แล้ว ส่วนข้อสองสามารถแก้ได้โดยการแก้ script + ลง package manager บน Windows ซึ่งใน blog นี้ ผมเลือกใช้ Chocolatey ครับ

ขั้นตอนการ build Libra cli บน Windows

ลง Chocolatey ก่อน โดยเปิด cmd ด้วย admin แล้วรันคำสั่ง

จากนั้นสิ่งที่ต้องมีอีกอย่างคือ git เพราะเราต้องใช้ git bash ในการ execute script ครับ

เมื่อเราลง git แล้ว ให้ทำการเปิด git bash ด้วย admin โดยปกติไฟล์นี้จะอยู่ที่ “C:\Program Files\Git\bin\bash” ให้ทำการคลิกขวา แล้วเลือก “run as administrator” ได้เลย เมื่อหน้าจอ bash ขึ้นมาแล้ว ให้เปลี่ยนไปที่ path ที่ต้องการลง Libra (ใน bash เราสามารถใช้ / ในการ access drive ได้ เช่น ถ้าต้องการเข้า drive D เราสามารถพิมพ์ cd /d ได้เลย)

ต่อมา ให้ clone repo ผมที่ได้ทำการแก้ script ให้ใข้กับ Windows ได้ โดยการรันคำสั่งต่อไปนี้

ในบางครั้งเราอาจจะเจอ error เช่นหา rustup หรือ go ไม่เจอ ซึ่งอันนี้เราอาจจะต้องเปิด git bash ด้วย admin อีกรอบ เพื่อให้มัน load path environment variable ที่เพิ่ง update ไป จากนั้นก็รันตัว dev_setup.sh ใหม่อีกรอบ

ถ้าเจอแบบนี้ให้เปิด git bash ใหม่อีกรอบครับ
ถ้าขึ้นแบบนี้คือ โอเคแล้ว

ต่อมาเราจะต้องนำ cmake ไปใส่ใน path environment variable ซึ่งปกติ cmake จะอยู่ที่ “C:\Program Files\CMake\bin” ครับ (คงไม่ต้องบอกถึงวิธีการ update ค่า environment variable เนอะ)

ต่อมาจะเป็นขั้นตอนใหญ่อีกขึ้นตอนนึงคือ การลง Visual Studio เพื่อใช้ในการ build โปรแกรม C++ ซึ่งตัวที่ผมลงจะเป็น Visual Studio 2019 Community Edition โดยให้ลง component ตามในรูปเลย

เมื่อลงเสร็จแล้วให้เปิด git bash ด้วย admin ใหม่อีกอบ แล้วรัน script เพื่อ build ตัว Libra ได้เลย (ซึ่งขั้นตอนนี้จะใช้เวลานานนนนนมาก รันแล้วไปเดินเล่นหรือเล่นกับแมวก่อนได้เลย)

เมื่อ build เสร็จแล้ว พอขึ้นหน้าจอประมาณนี้ก็ถือว่า build สำเร็จแล้วครับ ทีนี้อยากจะลองเล่นอะไรก็เล่นได้เลย :D

สุดท้ายนี้ blog นี้อาจจะดิบเถื่อน ไม่ค่อยมีรูปประกอบเท่าไร (สารภาพว่ารีบเผา) ก็ถือว่าเป็นอีกทางเลือกสำหรับผู้ใช้ Windows ละกันครับ

--

--

Parin Chiamananthapong
KULAPofficial

POS (Plain Old Full-Stacked) Developer who loves coding, startup, blockchain and anime :D