Phonegap

วิธีแก้ปัญหาติด sudo ในการใช้ PhoneGap และ Cordova SDK

เรื่องที่เกี่ยวข้อง - Cordova SDK, OS X, PhoneGap, Sudo

วันนี้ตอน ให้กับรุ่นที่ 12 พบปัญหาหนึ่งที่คุณ Songsook เจอครับ ตอนเลิกคอร์ส นั่งลุ้นกัน 3 คนกับพี่ Phisit สักพักก็สามารถแก้ไขได้ เลยเอามาแชร์ไว้ เผื่อพวกเราเจอปัญหาเดียวกัน

ปัญหานั้นก็คือ จะสร้าง จะสั่ง จะทำอะไรทุกอย่างด้วย Cordova SDK หรือ PhoneGap SDK ต้องใส่ sudo ตลอด เรียกสั้นๆ ว่าวิธี “sudo โล้ด” ครับ

ปัญหาที่ก่อตัวขึ้น

การ sudo โล้ดในทุกคำสั่งเวลาทำงานกับ project PhoneGap จะทำให้เกิดสถานการณ์อย่างนี้ครับ

  1. เวลาสร้าง project ด้วย Cordova SDK ก็ต้องสั่ง sudo
    sudo cordova create NextflowApp
  2. เวลา add platform ก็ต้องสั่ง sudo เช่นเดียวกันแบบนี้
    sudo cordova platform add android
    sudo cordova platform add ios
  3. ทำให้ไม่สามารถ import Android project เข้ามาใน Eclipse ADT ได้ เพราะ sudo มันกันสิทธิ์เอาไว้ (ไว้ ไว้ ไว้)
  4. และทำให้เปิด iOS App project บน XCode 5 ไม่ได้เช่นกัน (กัน กัน กัน จะเอคโค่ทำไมเนี้ย)

ทางแก้ที่ยอดเยี่ยม

ในเมื่อปัญหามันเกิดจาก sudo เราก็ต้องแก้ไปที่ sudo ครับ ผลปรากฎว่าในเครื่องของคุณส่งสุขมี group ปริศนา ไม่มีที่มาที่ไป แต่หมายหัวไว้ว่า มันเป็นสาเหตุที่ทำให้ sudo กันโปรแกรม XCode และ Eclipse ไม่ให้เข้าไปรุ่มร่ามกับ PhoneGap app และ platform ของมัน

เราก็เลยหาวิธีปลด lock เจ้า sudo ของเรามาฝากพี่น้องไว้เผื่อเจอปัญหาคล้ายๆ กัน ซึ่งต้นฉบับเป็นของคุณ  Francesco Frapporti ที่แนะนำวิธีการอ้างสิทธิ์ของตัวเราใน folder ที่ติดตั้ง Cordova SDK ใน StackOverflow ครับ

1. อ้างสิทธิ์ของเราบน folder ที่ติดตั้ง Cordova SDK (หรือ PhoneGap SDK)

นั่นคือเราต้องทำการอ้างสิทธิ์บน folder ที่ระบบจะใช้ติดตั้ง Cordova (หรือ PhoneGap SDK) ก่อน แล้วต่อติดตั้งตัว SDK

sudo chown -R $USER /usr/local
npm install -g cordova

และถ้าพวกเราใช้ NodeJS รุ่นใหม่ ก็อาจจะมี error ติดอยู่ ทางที่ดีให้ clear cache ของ NodeJS ได้โดยการสั่งคำสั่งต่อไปนี้

sudo npm cache clear
npm install -g cordova

2. ทดสอบเรียกคำสั่งสร้าง Project ด้วย Cordova SDK แบบไม่ใส่ sudo

ถ้าทุกอย่างเรียบร้อย เราจะสามารถรันคำสั่งต่อไปนี้โดยไม่ต้องใส่ sudo นำหน้าอีกต่อไป

cordova create MyApp
cd MyApp
cordova platform add android

หวังว่าคงช่วยผ่าทางตันให้หลายๆ คนได้นะครับ อย่าลืมแวะเข้าไปอัพเดตเนื้อหาในส่วนเริ่มต้นการเรียนรู้พัฒนา Mobile App ด้วย HTML5 และ PhoneGap 3 กันนะครับ

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

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

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

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

Privacy Preferences

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

Allow All
Manage Consent Preferences
  • Always Active

Save