สิ่งนี้จะเกิดขึ้นหากครั้งแรกที่คุณรัน NPM ด้วย sudo เช่นเมื่อพยายามทำการติดตั้ง npm
โฟลเดอร์แคชจำเป็นต้องเป็นของผู้ใช้ปัจจุบันไม่ใช่ผู้ใช้รูท
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
สิ่งนี้จะให้สิทธิ์การเป็นเจ้าของโฟลเดอร์ด้านบนเมื่อใช้งานโดยสิทธิ์ผู้ใช้ปกติ (ไม่ใช่ sudo)
นอกจากนี้ยังเป็นที่น่าสังเกตว่าคุณไม่ควรติดตั้งแพ็คเกจระดับโลกโดยใช้ SUDO หากคุณพบปัญหาเกี่ยวกับการอนุญาตคุณควรเปลี่ยนไดเรกทอรีทั่วโลกของคุณ เอกสารแนะนำ:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
จากนั้นอัปเดต PATH ของคุณในทุกที่ที่คุณกำหนดว่า (~ / .profile เป็นต้น)
export PATH=~/.npm-global/bin:$PATH
จากนั้นคุณจะต้องตรวจสอบให้แน่ใจว่าตัวแปร PATH env ถูกตั้งค่า (รีสตาร์ทเทอร์มินัลหรือใช้คำสั่ง source)
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally