- 1 1. แนะนำเบื้องต้น
- 2 2. วิธีติดตั้ง Node.js และ npm บน Ubuntu
- 3 3. การใช้งาน npm พื้นฐาน
- 4 4. ปัญหาที่พบบ่อยและแนวทางแก้ไข
- 5 5. คำถามที่พบบ่อย (FAQ)
- 6 6. สรุป: ใช้งาน npm บน Ubuntu ให้คล่อง
1. แนะนำเบื้องต้น
เหตุผลที่ควรใช้ npm บน Ubuntu
หนึ่งในเครื่องมือสำคัญสำหรับการพัฒนา Frontend และ Backend คือ “npm (Node Package Manager)” ซึ่งเป็นเครื่องมือจัดการแพ็กเกจของ Node.js ที่ได้รับความนิยมสูง ช่วยให้สามารถติดตั้งและจัดการไลบรารี JavaScript และเครื่องมือต่าง ๆ ได้อย่างง่ายดาย
การใช้ npm บน Ubuntu จะช่วยให้คุณได้ประโยชน์จากความคล่องตัวของ Linux และความยืดหยุ่นในการจัดการแพ็กเกจ ส่งผลให้ประสิทธิภาพการพัฒนาดีขึ้นอย่างมาก Ubuntu เป็นดิสทริบิวชันที่ได้รับความนิยมในหมู่นักพัฒนา ทั้งสำหรับเซิร์ฟเวอร์และเครื่องส่วนตัว
โดยเฉพาะเมื่อต้องใช้งาน Framework ที่สร้างบน Node.js เช่น Vue.js, React, Next.js การจัดการแพ็กเกจด้วย npm ถือเป็นมาตรฐาน การตั้งค่าเหล่านี้บน Ubuntu จะช่วยลดปัญหาเมื่อเทียบกับ Windows หรือ macOS และทำให้สภาพแวดล้อมการพัฒนาเสถียรขึ้น
วัตถุประสงค์ของบทความนี้
บทความนี้จะแนะนำขั้นตอนการติดตั้งและใช้งาน npm บน Ubuntu ตั้งแต่เริ่มต้นจนถึงการใช้คำสั่งพื้นฐาน เหมาะสำหรับ
- นักพัฒนาที่เริ่มต้นใช้ Ubuntu
- ผู้ที่มีปัญหาเรื่องการตั้งค่า Node.js หรือ npm
- ผู้ที่ต้องการเรียนรู้การใช้ npm อย่างเป็นระบบ
เราจะนำเสนอหลายวิธีในการติดตั้ง พร้อมเปรียบเทียบข้อดี-ข้อเสียของแต่ละแบบ รวมถึงแนวทางแก้ไขปัญหาที่พบบ่อย และคำสั่งที่เป็นประโยชน์ เพื่อให้ผู้อ่านสามารถใช้งาน npm บน Ubuntu ได้อย่างราบรื่น
2. วิธีติดตั้ง Node.js และ npm บน Ubuntu
ก่อนจะใช้ npm บน Ubuntu จำเป็นต้องติดตั้ง Node.js ก่อน เพราะ npm มาพร้อมกับ Node.js เมื่อคุณติดตั้ง Node.js แล้วก็จะได้ npm ด้วย
ที่นี่เราจะนำเสนอ 3 วิธีหลักในการติดตั้ง Node.js และ npm บน Ubuntu ซึ่งแต่ละวิธีก็เหมาะกับความต้องการและสไตล์การพัฒนาต่างกัน
วิธีที่ 1: ใช้ Official Repository ของ Ubuntu
ขั้นตอน
ใน Repository มาตรฐานของ Ubuntu มี Node.js ให้ติดตั้ง วิธีนี้ง่ายที่สุด เหมาะกับมือใหม่
sudo apt update
sudo apt install nodejs npm
หลังติดตั้ง ตรวจสอบเวอร์ชันด้วยคำสั่ง:
node -v
npm -v
ข้อดี
- คำสั่งเข้าใจง่าย ไม่ซับซ้อน
- เวอร์ชันที่ติดตั้งมีความเสถียรสูง
ข้อเสีย
- เวอร์ชันของ Node.js/npm ที่ได้มักจะเก่า อาจใช้งานฟีเจอร์ใหม่ไม่ได้
วิธีที่ 2: ใช้ NodeSource PPA
การใช้ Repository “NodeSource” ซึ่งใกล้เคียงกับทางการ ช่วยให้ติดตั้ง Node.js และ npm เวอร์ชันใหม่ ๆ ได้ง่ายขึ้น
ตัวอย่างขั้นตอน (ติดตั้ง Node.js 18.x)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
npm จะถูกติดตั้งพร้อมกับ Node.js โดยอัตโนมัติ
ข้อดี
- ได้เวอร์ชันใหม่ที่ยังคงมีเสถียรภาพ
- ติดตั้งง่ายและทำงานร่วมกับ Ubuntu ได้ดี
ข้อเสีย
- ต้องระวังการจัดการ dependency หากใช้ร่วมกับ PPA อื่น
วิธีที่ 3: ใช้ nvm (Node Version Manager)
หากต้องการสลับเวอร์ชัน Node.js หลายเวอร์ชัน nvm จะสะดวกและยืดหยุ่นที่สุด
ขั้นตอน
ติดตั้ง nvm ก่อน:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
จากนั้น reload shell แล้วติดตั้ง Node.js ผ่าน nvm:
source ~/.bashrc # หรือ ~/.zshrc
nvm install 18
nvm use 18
npm จะติดตั้งพร้อม Node.js โดยอัตโนมัติ
ข้อดี
- สลับเวอร์ชัน Node.js ได้อิสระ
- ตั้งค่าเวอร์ชันแยกตามโปรเจกต์
- ปลอดภัย ไม่กระทบกับระบบหลัก
ข้อเสีย
- ขั้นตอนติดตั้งซับซ้อนกว่าวิธีอื่นเล็กน้อย
- ต้องแก้ไขไฟล์ตั้งค่าของ shell
ควรเลือกวิธีไหนดี?
วิธี | ความยาก | ความใหม่ของเวอร์ชัน | ความยืดหยุ่น | แนะนำสำหรับ |
---|---|---|---|---|
Official Repository | ★☆☆ | △ (เก่า) | × | มือใหม่ ผู้ทดลองใช้งาน |
NodeSource | ★★☆ | ○ (ใหม่กว่า) | △ | นักพัฒนาทั่วไป |
nvm | ★★★ | ◎ (เลือกเวอร์ชันได้) | ◎ | ผู้มีหลายโปรเจกต์/ผู้มีประสบการณ์ |
ถ้าจะพัฒนาในระยะยาว แนะนำให้ใช้ nvm ส่วนถ้าเน้นความง่าย NodeSource ก็เป็นตัวเลือกที่ดี
3. การใช้งาน npm พื้นฐาน
หลังจากติดตั้ง Node.js กับ npm แล้ว ขั้นตอนต่อไปคือการใช้งาน npm สำหรับจัดการแพ็กเกจ JavaScript
เราจะอธิบายคำสั่งพื้นฐานที่ใช้บ่อย
ติดตั้งแพ็กเกจ
Local Install
ถ้าต้องการใช้แพ็กเกจแค่ในโปรเจกต์ปัจจุบัน ให้ติดตั้งแบบ Local แพ็กเกจจะถูกติดตั้งใน node_modules
และถูกบันทึกไว้ใน package.json
npm install ชื่อแพ็กเกจ
ตัวอย่าง: ติดตั้ง axios
npm install axios
เฉพาะสคริปต์ในโปรเจกต์นั้นเท่านั้นที่จะใช้แพ็กเกจนี้ได้
Global Install
ถ้าจะใช้แพ็กเกจหรือ CLI ทั่วทั้งระบบ ให้ติดตั้งแบบ Global
npm install -g ชื่อแพ็กเกจ
ตัวอย่าง: ติดตั้ง http-server
แบบ global
sudo npm install -g http-server
บน Ubuntu บางครั้งต้องใช้ sudo
กับ -g
ด้วย
ถอนการติดตั้งแพ็กเกจ
ลบแพ็กเกจที่ไม่ต้องการแล้วด้วยคำสั่งนี้
ลบแพ็กเกจแบบ Local
npm uninstall ชื่อแพ็กเกจ
ลบแพ็กเกจแบบ Global
sudo npm uninstall -g ชื่อแพ็กเกจ
อัปเดตแพ็กเกจ
ถ้าต้องการอัปเดตแพ็กเกจให้เป็นเวอร์ชันล่าสุด
อัปเดตแพ็กเกจเดี่ยว
npm update ชื่อแพ็กเกจ
อัปเดตแพ็กเกจทั้งหมด
npm update
แต่จะอัปเดตภายในขอบเขตเวอร์ชันที่ระบุใน package.json
ติดตั้งแพ็กเกจสำหรับพัฒนา (–save-dev)
ถ้าเป็นเครื่องมือสำหรับทดสอบหรือ build ให้ใช้ --save-dev
npm install --save-dev ชื่อแพ็กเกจ
ตัวอย่าง: ติดตั้ง jest
เป็น dev dependency
npm install --save-dev jest
จะถูกบันทึกใน devDependencies
ของ package.json
ดูรายการแพ็กเกจที่ติดตั้ง
ดูแพ็กเกจในโปรเจกต์ (Local)
npm list
ดูแพ็กเกจทั้งหมดแบบ Global
npm list -g --depth=0
ใช้ --depth=0
เพื่อแสดงเฉพาะแพ็กเกจระดับบนสุด อ่านง่ายขึ้น
จัดการ dependency ด้วย package.json
หัวใจของ npm คือไฟล์ package.json
ซึ่งบันทึกข้อมูลแพ็กเกจ เวอร์ชัน และ script ต่าง ๆ
สร้าง package.json
ได้ด้วยคำสั่งนี้
npm init
หรือถ้าต้องการข้ามขั้นตอนตอบคำถาม ใช้
npm init -y
เพื่อสร้างแบบอัตโนมัติ

4. ปัญหาที่พบบ่อยและแนวทางแก้ไข
เมื่อใช้ npm บน Ubuntu อาจเจอข้อผิดพลาดต่าง ๆ โดยเฉพาะมือใหม่ บทนี้จะแนะนำวิธีแก้ไขปัญหาที่เจอบ่อย
เจอ Permission Error
อาการ
EACCES: permission denied
เมื่อลองติดตั้งแพ็กเกจแบบ global แล้วเจอ error นี้
สาเหตุ
ไม่มีสิทธิ์เขียนไฟล์ใน directory ที่ npm จะติดตั้งแพ็กเกจ เช่น /usr/lib/node_modules
ต้องใช้ sudo
ด้วยเหตุผลด้านความปลอดภัย
วิธีแก้
- เพิ่ม
sudo
ตอนรันคำสั่ง:
sudo npm install -g ชื่อแพ็กเกจ
- หรือเปลี่ยน global path ไปที่ home directory เพื่อใช้ npm แบบไม่ต้อง sudo
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
แล้วเพิ่ม PATH ลงใน ~/.bashrc
หรือ ~/.profile
export PATH="$HOME/.npm-global/bin:$PATH"
รีสตาร์ท terminal หรือรัน
source ~/.bashrc
npm ใช้งานไม่ได้ หรือ PATH ไม่ถูกต้อง
อาการ
command not found: npm
แม้จะติดตั้ง npm แล้วแต่ใช้คำสั่งไม่ได้
สาเหตุ
- Node หรือ npm ติดตั้งไม่สมบูรณ์
- PATH ไม่ถูกตั้งค่า
วิธีแก้
ตรวจสอบ PATH ก่อน
which npm
ถ้าไม่มีอะไรแสดง ต้องติดตั้งใหม่หรือตรวจสอบไฟล์ตั้งค่า หากใช้ nvm ให้เช็คว่ามีโค้ดนี้ใน .bashrc
หรือ .zshrc
หรือไม่
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
ติดตั้งบางแพ็กเกจไม่ได้ หรือ version conflict
อาการ
- ติดตั้งแพ็กเกจ A แล้วมี error เรื่อง dependency
- มี warning เยอะตอน
npm install
สาเหตุ
มี dependency conflict หรือใช้แพ็กเกจเก่าที่ถูก deprecated
วิธีแก้
- ติดตั้งเวอร์ชันล่าสุด:
npm install ชื่อแพ็กเกจ@latest
- เช็ค dependency ของแพ็กเกจ:
npm ls ชื่อแพ็กเกจ
- บังคับติดตั้ง (ไม่แนะนำ):
npm install --legacy-peer-deps
- ลบ
node_modules
กับpackage-lock.json
แล้วติดตั้งใหม่:
rm -rf node_modules package-lock.json
npm install
เทคนิค debug อื่น ๆ ที่เป็นประโยชน์
npm doctor
: ตรวจสอบ environment อัตโนมัติ
npm doctor
npm audit
: เช็คและแก้ไขปัญหา security
npm audit
npm audit fix
ข้อผิดพลาด npm บน Ubuntu มักจะแสดงข้อความอังกฤษ ให้ลองอ่าน error อย่างใจเย็นและหาทางแก้ตามข้อความนั้น
5. คำถามที่พบบ่อย (FAQ)
รวมคำถามที่มือใหม่ใช้งาน npm บน Ubuntu มักค้นหา พร้อมคำตอบกระชับเพื่อช่วยแก้ปัญหาและปรับปรุงสภาพแวดล้อม
Q1. จะอัปเดต npm เป็นเวอร์ชันล่าสุดบน Ubuntu ได้อย่างไร?
A1.
ใช้คำสั่งนี้เพื่ออัปเดต npm
sudo npm install -g npm@latest
ถ้าใช้ nvm ไม่ต้องใช้ sudo
npm install -g npm@latest
ตรวจสอบเวอร์ชัน:
npm -v
Q2. ความต่างของ Local install กับ Global install คืออะไร?
A2.
- Local Install: ติดตั้งในโปรเจกต์เท่านั้น ใช้ใน
node_modules
และแชร์กับทีมได้ (บันทึกในpackage.json
) - Global Install: ใช้งานได้ทั้งระบบ เช่น CLI tool มักอยู่ที่
/usr/lib/node_modules
และอาจต้องใช้sudo
Q3. ข้อดีของการใช้ nvm คืออะไร?
A3.
nvm (Node Version Manager) ช่วยให้สลับเวอร์ชัน Node.js ได้อิสระ เหมาะกับการทำงานหลายโปรเจกต์ ปลอดภัยเพราะไม่กระทบระบบหลัก และ npm ก็จะเปลี่ยนตามเวอร์ชัน Node.js ที่ใช้งาน
- เหมาะกับการทำหลายโปรเจกต์ที่ใช้ Node.js ต่างเวอร์ชัน
- ปลอดภัย ไม่เปลี่ยนแปลงทั้งระบบ
- npm จะถูกจัดการอัตโนมัติตาม Node.js ที่ใช้
Q4. ถ้า dependency npm เสีย ควรทำอย่างไร?
A4.
ลบ node_modules
และ package-lock.json
แล้วติดตั้งใหม่
rm -rf node_modules package-lock.json
npm install
ถ้ายังไม่หาย ให้ลอง npm ci
(เหมาะกับ CI/CD)
Q5. ผลลัพธ์ npm ขึ้น WARN หรือ audit ควรทำยังไง?
A5.
WARN คือ warning ไม่ใช่ error แต่ควรตรวจสอบ dependency หรือการใช้ฟีเจอร์ที่ถูก deprecate
ถ้าเกี่ยวกับ security ใช้คำสั่งนี้ได้
npm audit fix
ควรตรวจสอบการเปลี่ยนแปลงก่อนเสมอ และใช้ git ช่วย backup ไว้ก่อน
Q6. npm บน Ubuntu ใช้สร้างอะไรได้บ้าง?
A6.
npm คือจุดเริ่มของโลก JavaScript บน Ubuntu สามารถสร้าง:
- สภาพแวดล้อม Frontend (React, Vue, Svelte ฯลฯ)
- Static site generator (Next.js, Nuxt ฯลฯ)
- Backend (Express, NestJS ฯลฯ)
- CLI tools
- Test tools (Jest, Mocha ฯลฯ)
npm บน Ubuntu ช่วยให้คุณใช้พลัง Open Source ได้อย่างมีประสิทธิภาพ
6. สรุป: ใช้งาน npm บน Ubuntu ให้คล่อง
บทความนี้แนะนำตั้งแต่การติดตั้งจนถึงใช้งาน npm บน Ubuntu พร้อมเทคนิคและคำสั่งที่จำเป็น สรุปประเด็นสำคัญอีกครั้ง
ประเด็นสำคัญ
- npm คืออะไร: เครื่องมือจัดการแพ็กเกจที่ช่วยให้พัฒนาเร็วขึ้น
- วิธีติดตั้ง: มี 3 ทางเลือก เลือกให้เหมาะกับความต้องการ
- การใช้งานพื้นฐาน: ติดตั้ง ลบ อัปเดต จัดการ dependency ง่าย
- การแก้ปัญหา: มีแนวทางแก้ทั้งเรื่อง permission, เวอร์ชัน และ dependency
- FAQ: รวมคำถามที่พบบ่อยในงานจริง
แนะนำสำหรับมือใหม่
Ubuntu กับ npm เป็นคู่ที่เหมาะกับงาน Web ทันสมัย แม้จะเจอปัญหา แต่การแก้ปัญหาทีละข้อจะช่วยให้คุณเก่งขึ้น
สิ่งสำคัญที่สุดคือ “ทดลองใช้งานจริง” ลองรันคำสั่งและดูผลลัพธ์เพื่อเข้าใจ npm ให้ลึกซึ้งขึ้น
นี่คือคู่มือการใช้งาน npm บน Ubuntu หวังว่าจะช่วยให้สร้างสภาพแวดล้อมการพัฒนาได้ตามต้องการ
สำหรับเทคนิค Linux และ Web Development อื่น ๆ ติดตามหรือแชร์บทความนี้ไว้ได้เลย!