Google Flutter

วิธีติดตั้ง Cocoapod บนเครื่อง Apple M Chip

เรื่องที่เกี่ยวข้อง - Google Flutter, iOS

พอดีคุณเอ หนึ่งในนักเรียนคลาส Google Flutter เจอปัญหาหนึ่งที่ค่อนข้างซับซ้อน สำหรับการติดตั้งระบบบน MacOS สำหรับการพัฒนาแอพด้วย Flutter เลยขอเอามาแปะไว้ซักหน่อย

Cocoapod install error

ปัญหาที่พบคือการที่เราไม่สามารถ setup Cocoapod ได้ ซึ่งเป็นระบบสำคัญในการทำให้โปรเจคของเราสามารถทำงานกับโค้ดโปรแกรม Native ฝั่ง iOS ได้

ปัญหานี้ค่อนข้างเจอกันเยอะ เพราะเกี่ยวข้องกับชิป Apple ตระกูล M ทั้งหลาย M1, M2, M3, M4 ขึ้นไปมีโอกาสสูงที่จะเจอครับ

รายการ Error ที่เข้าข่ายมีดังนี้

Building native extensions. This could take a while...
ERROR:  Error installing ffi:
	ERROR: Failed to build gem native extension.

ซึ่งพอพยายามติดตั้ง package ที่เกี่ยวข้องด้วยคำสั่งด้านล่าง ก็จะมี error ทับซ้อนมาอีกบานเบอะ ทำให้ปัญหาดูแก้ไขยากมากขึ้น

sudo arch -x86_64 gem install ffi

สาเหตุ

เรื่องของเรื่อง มันมาจากการที่เราติดตั้งระบบบนเครื่องที่ใช้ Apple Silicon เป็นตัวหลัก (เครื่องที่ใช้ chip intel จะไม่เจอปัญหานี้) อารมณ์ประมาณเราเจอบั๊กในแอพเวอร์ชั่นใหม่ แต่เวอร์ชั่นเก่าดันไม่เจอ (จริงๆ มันเป็นเรื่องของตัวชิปแหละ แต่ให้เห็นภาพง่ายๆ แล้วกัน)

วิธีแก้ไขกระจัดกระจายในอินเตอร์เน็ต ขอมาสรุปรวมไว้เป็นลำดับ เพื่อให้ง่ายต่อการทำตามนะครับ

วิธีแก้

  1. อย่างแรกคือโปรแกรม Terminal ของเราต้องไม่เปิดการทำงาน Open in Rosetta เพราะบางเว็บจะเสนอวิธีนี้ ซึ่งจะทำให้วุ่นวายไปใหญ่
  2. จากนั้นคือเรื่อง Rosetta 2 เราจะทำการรันคำสั่งด้านล่างนี้ ในโปรแกรม Terminal
    /usr/sbin/softwareupdate --install-rosetta --agree-to-license
  3. จากนั้นเราจะทำการติดตั้ง Homebrew ที่จะทำงานกับ Apple M chip ได้แบบไร้รอยต่อ ด้วยคำสั่งด้านล่าง
    arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  4. จากจุดนี้เราสามารถสั่งติดตั้ง package ที่จำเป็นในการทำงานของ CocoaPods แล้วครับ รันคำสั่งด้านล่างที่ละคำสั่งตามลำดับเลย
    sudo arch -x86_64 brew install ffi
    sudo arch -x86_64 brew install cocoapods

เสร็จเรียบร้อย ลองเช็คระบบอีกที ว่าสามารถรันคำสั่ง pod ได้ไหม ถ้าได้ก็ถือว่าโอเคครับ

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save