เนื่องจากคนที่ใช้ MacOS หรือ Linux อาจจะเจอปัญหาเรื่อง Permission Denied เวลาติดตั้ง Node Package ต่างๆ เอาไว้ใช้งาน ไม่ว่าจะเป็น npm install
หรือ npm install -g
ก็ตามที ทำเอาเสียเวลาโดยใช่เหตุ
เลยขอฝากวิธีแก้เอาไว้ตรงนี้สั้นๆ ครับ
อาการ Error
อย่างของพลเคสล่าสุดที่เจอ คือตอนสั่งสร้างโปรเจค Ionic และ React Native ซึ่งมีการเข้าไปยุ่งกับโฟลเดอร์ใน .npm
จน error เป็นแถบแบบนี้
Unhandled rejection Error: EACCES: permission denied, open '/Users/teerasejjiraphatchandej/.npm/_cacache/index-v5/86/38/2f6e2370a79fac1d7735522e039097d5f179eb125a8f844e79a26116059d'
ซึ่งจะสังเกตว่า directory ที่เกิด error คือ
/Users/teerasejjiraphatchandej/.npm/_cacache/
ซึ่ง Error เกิดจากมีสิทธิ์ของ User อื่น (ซึ่งไม่ใช่ User ที่เราใช้อยู่ อาจจะเป็น root ก็ได้) จองสิทธิ์เอาไว้
เหมือนยืมหนังสือ แล้วไม่คืนหน่ะครับ คนอื่นจะอ่านต่อก็ไม่ได้
ดังนั้นเราจะแก้ โดยใช้คำสั่ง chown เพื่อให้สิทธิ์กลับมาเป็นของ User เรา
ใช้ CHOWN
อย่างแรกให้จดไว้ก่อนว่า directory ที่เกิด error คืออะไร ในที่นี้คือ
/Users/teerasejjiraphatchandej/.npm/_cacache/
เราจะใช้คำสั่งดังนี้
sudo chown -R $USER:$GROUP ~<directory>
เช่น
sudo chown -R $USER:$GROUP ~/Users/teerasejjiraphatchandej/.npm/_cacache/
จากนั้นกด enter ซึ่งอาจจะมีการให้กรอก password ของ sudo ให้กรอกตามปกติ
อาการก็น่าจะหายดีแล้วครับ
เรียนรู้เข้าใจง่าย ใช้ได้จริง กับ Course ที่ออกแบบมาอย่างดี

เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework
เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง
สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373
โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!

คอร์สออนไลน์เริ่มต้นสร้าง Mobile App ด้วย Google Flutter
เหมาะผู้เริ่มต้น และนักพัฒนาเว็บ, เข้าใจง่าย, ใช้ได้จริง
สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

เปิดอบรม React Native สำหรับผู้เริ่มต้น
ปูพื้นฐาน React และ React Native เข้าใจง่าย, ใช้ได้จริง, เนื้อหาใช้ในการทำแอพ Enterprise ขององค์กรได้
อ้างอิง – StackOverflow