สิ่งที่ต้องเตรียมพร้อม
- Ubuntu/Debian: ใช้ได้กับ Ubuntu 20.04+, Debian 11+
- สิทธิ์ sudo: ต้องมีสิทธิ์ผู้ดูแลระบบ
- การเชื่อมต่อ: อินเทอร์เน็ตเพื่อดาวน์โหลด Node.js
ติดตั้ง nvm Primary Installation
nvm (Node Version Manager) เป็นเครื่องมือที่ช่วยจัดการหลายเวอร์ชันของ Node.js บนเครื่องเดียวกันได้อย่างง่ายดาย โดย installation จะติดตั้งใน user directory
ติดตั้งผ่าน curl หรือ wget
เลือกหนึ่งในสองเครื่องมือข้างล่าง
1.1 ติดตั้ง nvm ด้วย curl
Recommended1.2 ติดตั้ง nvm ด้วย wget
Alternative1.3 โหลด nvm สำหรับ session ปัจจุบัน
คำสั่งทั้งสามบรรทัดจะโหลด nvm ใน session ปัจจุบัน หรือสามารถออกจาก shell แล้วเข้ากลับมาใหม่ก็ได้
ตรวจสอบการติดตั้ง
หลังจากติดตั้ง nvm แล้วต้องตรวจสอบว่าการติดตั้งสำเร็จและพร้อมใช้งานหรือไม่
ขั้นตอนการตรวจสอบการติดตั้ง
2.1 ตรวจสอบเวอร์ชัน nvm
2.2 ตรวจสอบ command list
ตัวอย่าง output ที่ควรเห็น:
nvm install [version] [arch]
nvm use [version] [arch]
nvm list
nvm alias [name] [version]
การจัดการ Node.js Versions
nvm ช่วยให้ติดตั้ง ใช้งาน และสลับเวอร์ชัน Node.js ได้อย่างคล่องตัว
3.1 ดูรายการเวอร์ชันที่ติดตั้งแล้ว
3.2 ติดตั้งเวอร์ชันที่ต้องการ
3.3 ใช้งานเวอร์ชันที่ติดตั้ง
3.4 ตั้งค่าเวอร์ชันเริ่มต้น
ตั้งค่า nvm use 20 โดยอัตโนมัติทุกครั้งที่เปิด terminal ใหม่
3.5 ดูเวอร์ชันที่ใช้ปัจจุบัน
เทคนิคการใช้งานขั้นสูง
คู่มือต่อไปนี้เป็นฟีเจอร์พิเศษของ nvm ที่ช่วยให้จัดการ Node.js ได้อย่างคล่องตัวกว่าเดิม
4.1 ติดตั้งหลายเวอร์ชันพร้อมกัน
สามารถติดตั้งและสลับระหว่างเวอร์ชันต่างๆ ได้
4.2 ย้ายเวอร์ชันล่าสุด
ใช้คำสั่ง special alias เพื่อติดตั้งเวอร์ชันล่าสุด
4.3 สร้าง named alias
สร้างชื่อย่อสำหรับเวอร์ชันที่ใช้บ่อย
4.4 เรียกใช้เวอร์ชันเฉพาะสำหรับโปรเจค
ใช้ .nvmrc ไฟล์ในโปรเจค
4.5 ลบเวอร์ชันที่ไม่ต้องการ
ล้างพื้นที่ดิสก์โดยการลบเวอร์ชันที่ไม่ใช้แล้ว
แก้ไขปัญหา (Troubleshooting)
คำสั่งไม่พบ nvm
หลังติดตั้ง คำสั่ง nvm ไม่สามารถใช้งานได้
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
ปัญหาสิทธิ์การเข้าถึง
เกิด permission denied เมื่อรันคำสั่งบางตัว
chmod -R 755 ~/.nvm
เวอร์ชันไม่ตรงกัน
Node.js ที่ติดตั้งไม่ใช่เวอร์ชันที่ต้องการ
nvm use 20.11.0 --reinstall-defaults
ไม่สามารถดาวน์โหลด Node.js
connection timeout หรือ SSL error
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# หรือใช้ proxy
export https_proxy=http://proxy:port
โครงสร้างระบบ nvm
คำถามที่พบบ่อย (FAQ)
nvm ต่างจาก npm อย่างไร?
nvm (Node Version Manager) ใช้จัดการหลายเวอร์ชันของ Node.js ส่วน npm (Node Package Manager) ใช้จัดการ package/library สำหรับ Node.js
ใช้ nvm ได้กับ System-wide ไหม?
สามารถติดตั้ง nvm แบบ system-wide ด้วย root ได้ แต่ไม่แนะนำเพราะอาจเกิดปัญหาสิทธิ์ เว้นแต่คุณต้องการแชร์ Node.js กับผู้ใช้ทุกคนในเครื่อง
สามารถใช้กับ Docker ได้ไหม?
สามารถใช้ nvm ภายใน container ได้ แต่ควรเลือกใช้ multi-stage build และเลือกเวอร์ชัน Node.js ที่เหมาะสมกับโปรเจค
จะติดตั้งเวอร์ชัน LTS ยังไง?
ลองใช้ nvm install --lts เพื่อติดตั้ง Long Term Support version ล่าสุด