วิธีเปลี่ยน default global directory บน Node.JS
ทำไมต้องเปลี่ยน?
ปรกติแล้วถ้าเราไม่ทำอะไรเลย เวลาเราสั่ง install node package ด้วย npm โปรแกรมจะเอา package ที่ download มาจาก internet ไปเก็บไว้ใน default directory ที่
${APPDATA}\npm
ปัญหาคือ เจ้า ${APPDATA}
บน Windows เนี่ยมันอยู่ที่ C:\Users\[user]\AppData\Roaming
ซึ่งยาวมากๆทำให้ บาง package ของ node ที่ยาวมากๆจะลงไม่ได้ ถึงแม้ปัญหานี้ถูกแก้ด้วย flat directory ใน version หลังๆของ npm แต่ถึงแบบนั้น บางครั้งเราก็อยากย้ายไป drive หรือ folder ว่างๆอยู่ดี
วิธีแก้
ก่อนอื่นตรวจสอบว่าตอนนี้ global directory ชี้ไปที่ไหนด้วยคำสั่ง
npm config get prefix
จากนั้นใช้คำสั่ง config เพื่อแก้ไข global directory
npm config set prefix '[path ที่ต้องการ]'
ให้ขั้นตอนนี้ ถ้าเป็น Windows อาจต้องปิดแล้วเปิด command prompt ใหม่
ตรวจสอบอีกครั้งว่าแก้สำเร็จโดยใช้
npm config get prefix
ทดลอง install package ดูว่าไปลงถูก directory ที่ config ไว้หรือไม่
npm install -g jshint
แถม
แสดง config ทั้งหมดที่ถูก config ไว้
npm config list
แสดง config ในระบบทั้งหมด
npm config ls -l