🧰 คู่มือแก้ไขปัญหา (Troubleshooting) การ Build & Launch ของ iBrowe
เอกสารนี้สรุปปัญหาที่นักพัฒนาอาจพบระหว่างการพัฒนา iBrowe พร้อมแนวทางแก้ไขอย่างมีประสิทธิภาพ ดัดแปลงมาจากเอกสารด้านวิศวกรรมของ Brave
❌ ปัญหา Startup หรือ Build ล้มเหลว
- Database Lock Errors ตัวอย่างข้อความ Log:
[48058:82435:0827/195241.326071:ERROR:database.cc(1821)] Web sqlite error 5, errno 0: database is locked, sql: SELECT COUNT(*) FROM sqlite_master [48058:82435:0827/195241.326160:FATAL:statement.cc(50)] Cannot call mutating statements on an invalid statement.
🛠️ วิธีแก้ไข (Solution):
ตรวจสอบว่ามีโปรแกรมเบราว์เซอร์อีกตัวที่เปิดใช้งาน โปรไฟล์เดียวกันอยู่หรือไม่ : ps aux | grep iBrowe-Browser-Development
ปิดโปรเซสที่กำลังทำงานอยู่: pkill -f iBrowe-Browser-Development
หรือ รีสตาร์ทเครื่องคอมพิวเตอร์ของคุณแล้วลองใหม่อีกครั้ง
- การเริ่มต้นใช้งาน Git: พบข้อผิดพลาด badTimezone ตัวอย่างข้อความ Error: error: object …: badTimezone: invalid author/committer line - bad time zone
→ เกิดข้อผิดพลาด: วัตถุ (object) …: badTimezone: บรรทัด author/committer ไม่ถูกต้อง - เขตเวลาไม่ถูกต้อง
🛠️ วิธีแก้ไข:
ตรวจสอบให้แน่ใจว่าไฟล์ ~/.gitconfig ของคุณ ไม่มีบรรทัดเหล่านี้อยู่: [transfer] fsckobjects = true [fetch] fsckobjects = true [receive] fsckobjects = true
- คำเตือน Proxy จาก depot_tools คำเตือน:
“แจ้งเตือน: คุณมีค่า PROXY ถูกตั้งค่าอยู่ใน Environment ของคุณ…”
🛠️ วิธีแก้ไข:
ให้เพิ่มบรรทัดนี้ในไฟล์ ~/.bashrc: export NO_AUTH_BOTO_CONFIG=“${HOME}/.boto”
จากนั้นให้สร้างไฟล์ ~/.boto โดยใส่เนื้อหาดังนี้: [Boto]
- รันคำสั่ง npm run sync – --all ไม่สำเร็จ 🧩 คุณลืมดึงโค้ดล่าสุดมาหรือเปล่า?
ลองรันคำสั่งนี้ก่อน: git pull origin main ถ้ายังใช้ไม่ได้ ให้ลองลบไฟล์ build output ด้วยคำสั่งนี้: rm -rf src/out
- ข้อผิดพลาดระหว่าง Build ด้วย Rustup (Rustup Build Error) ข้อความแสดงความล้มเหลว (Failure output): FAILED: gen/challenge_bypass_ristretto/…/libchallenge_bypass_ristretto.a python …/…/ibrowe/script/cargo.py … Traceback …
🛠️ วิธีแก้ไข:
ให้ลบไฟล์และเริ่มต้นใหม่ตามขั้นตอนนี้:
rm -rf src/out src/ibrowe/vendor src/ibrowe/build npm run init npm run build
- เวอร์ชันของ Rust Toolchain ไม่ตรงกัน (Rust Toolchain Mismatch) ถ้าการอัปเดตเวอร์ชันของ Rust ทำให้ Build พัง:
rm -rf src/ibrowe/build/rustup npm run sync
ปัญหา: การเชื่อมต่อ GitHub หลุด (GitHub Connection Dropped) ข้อความ Error:
Connection to github.com closed by remote host
🛠️ วิธีแก้ไข:
ให้แก้ไขไฟล์ SSH config (~/.ssh/config) โดยเพิ่มบรรทัดเหล่านี้:
Host github.com ServerAliveInterval 60 ServerAliveCountMax 100
📎 ที่มา: เรียบเรียงและปรับโครงสร้างใหม่จากคู่มือแก้ปัญหาภายในของ Brave โดยปรับให้เข้ากับขั้นตอนการพัฒนา iBrowe