目次

1. บทนำ: ทำไมต้องใช้ Node.js บน Ubuntu?

ความเข้ากันได้ที่ยอดเยี่ยมระหว่าง Ubuntu และ Node.js

Node.js คือแพลตฟอร์มสำหรับรัน JavaScript ฝั่งเซิร์ฟเวอร์ ซึ่งได้รับความนิยมอย่างกว้างขวางในการพัฒนาเว็บแอปพลิเคชันและเครื่องมือ ในขณะที่ Ubuntu เป็นลินุกซ์ดิสทริบิวชันที่ได้รับการยอมรับจากนักพัฒนาและผู้ดูแลระบบจำนวนมาก เมื่อใช้ทั้งสองร่วมกัน จะช่วยให้คุณสร้างสภาพแวดล้อมการพัฒนาที่ เสถียร ยืดหยุ่น และรวดเร็ว ได้อย่างง่ายดาย

การติดตั้ง Node.js บน Ubuntu ให้ข้อดีเช่น:

  • ระบบปฏิบัติการมีน้ำหนักเบา ไม่มีฟีเจอร์ที่ไม่จำเป็น ทำให้ใช้ทรัพยากรได้อย่างมีประสิทธิภาพ
  • สามารถใช้ Ubuntu สำหรับการพัฒนา ทดสอบ และโปรดักชันได้แบบครบวงจรบน Linux
  • ทำงานร่วมกับ Node.js ได้ดี เครื่องมือหลากหลาย (npm, nvm ฯลฯ) สามารถใช้งานร่วมกันได้ราบรื่น

ดังนั้น การใช้ Ubuntu คู่กับ Node.js ถือเป็นตัวเลือกที่ยอดเยี่ยมสำหรับทั้งฟรอนต์เอนด์และแบ็กเอนด์ ในการสร้างสภาพแวดล้อมการพัฒนา

ผู้อ่านเป้าหมายและจุดประสงค์ของบทความนี้

บทความนี้เหมาะสำหรับ:

  • ผู้ที่ต้องการเริ่มต้นใช้ Node.js บน Ubuntu
  • ผู้ที่ต้องการทราบว่าวิธีติดตั้งแบบไหนดีที่สุด
  • ผู้ที่อยากใช้ Node.js เวอร์ชันล่าสุดแต่ไม่มั่นใจเรื่องการตั้งค่า

หลังอ่านบทความนี้ คุณจะสามารถเปรียบเทียบวิธีติดตั้ง Node.js บน Ubuntu ใน 3 มุมมอง และเลือกแนวทางที่เหมาะสมกับเป้าหมายและทักษะของคุณได้ รวมถึงเรียนรู้วิธีติดตั้งเครื่องมือเสริม เช่น npm หรือ yarn และวิธีแก้ปัญหาที่พบบ่อย เพื่อให้คุณใช้งาน Node.js ได้อย่างมั่นใจ

侍エンジニア塾

2. สรุปภาพรวมวิธีติดตั้ง Node.js บน Ubuntu

วิธีติดตั้งมี 3 แบบหลัก โดยแต่ละแบบมีจุดเด่นต่างกัน

บน Ubuntu คุณสามารถติดตั้ง Node.js ได้ 3 วิธีหลักๆ ดังนี้:

  1. ติดตั้งผ่าน APT (Advanced Package Tool) แพ็คเกจมาตรฐาน
  2. ติดตั้งผ่าน PPA (Personal Package Archive) จาก NodeSource
  3. ติดตั้งผ่าน nvm (Node Version Manager) สำหรับจัดการเวอร์ชันที่ยืดหยุ่น

แต่ละวิธีมีทั้งข้อดีและข้อจำกัด ทางเลือกที่เหมาะสมจะขึ้นกับวัตถุประสงค์และโครงสร้างของระบบคุณ ตารางเปรียบเทียบด้านล่างนี้สรุปลักษณะเด่นของแต่ละวิธี

ตารางเปรียบเทียบวิธีติดตั้ง Node.js

วิธีติดตั้งลักษณะหลักข้อดีข้อจำกัดแนะนำสำหรับ
APT (มาตรฐาน)ใช้ repo อย่างเป็นทางการของ Ubuntuง่าย ปลอดภัยเวอร์ชันอาจเก่ามือใหม่ที่อยากทดลองเร็วที่สุด
NodeSource PPAสามารถติดตั้ง Node.js เวอร์ชันใหม่ผ่าน APTรองรับเวอร์ชันใหม่กว่าต้องเพิ่ม PPAนักพัฒนาที่อยากใช้เวอร์ชันเสถียรใหม่
nvmสลับเวอร์ชันได้หลายตัวยืดหยุ่น เหมาะกับผู้ใช้หลากหลายต้องตั้งค่า shellเหมาะกับการเรียนรู้และพัฒนาทั่วไป

ทำไมต้องเปรียบเทียบวิธีติดตั้ง?

แม้ว่า Ubuntu จะเป็น OS ที่เน้นความเสถียร แต่ซอฟต์แวร์ใน repo มักจะเป็นเวอร์ชันที่ไม่ใหม่ที่สุด หากคุณต้องการใช้ Node.js ฟีเจอร์ใหม่ๆ หรืออยากลองใช้หลายเวอร์ชัน ควรเลือกวิธีอื่นที่ไม่ใช่ APT

ในทางกลับกัน ถ้าต้องการแค่ลองใช้งานเร็วๆ หรือไม่อยากปรับแต่งเซิร์ฟเวอร์มากเกินไป การติดตั้งผ่าน APT ก็เพียงพอแล้ว

ควรเลือกวิธีไหน?

สำหรับนักพัฒนา หรือผู้ที่ต้องการใช้ Node.js ระยะกลางถึงยาว แนะนำให้ใช้ nvm เป็นหลัก
เหตุผล:

  • สลับเวอร์ชันใหม่-เก่าได้ง่าย
  • npm มาพร้อมตอนติดตั้ง
  • ไม่ต้องใช้ sudo จึงลดปัญหา permission

3. วิธีที่ 1: ติดตั้ง Node.js ง่ายๆ ด้วย APT (Ubuntu ทางการ)

APT คืออะไร? วิธีจัดการแพ็คเกจมาตรฐานบน Ubuntu

APT (Advanced Package Tool) คือระบบจัดการแพ็คเกจมาตรฐานของ Ubuntu และ Debian ด้วยคำสั่งเดียว คุณสามารถติดตั้ง อัปเดต หรือลบซอฟต์แวร์ได้ง่ายมาก

ใน repo อย่างเป็นทางการของ Ubuntu ก็มีแพ็คเกจ Node.js อยู่แล้ว คุณจึงติดตั้ง Node.js ได้ทันทีโดยไม่ต้องเตรียมอะไรเพิ่มเติม

ขั้นตอนการติดตั้ง

  1. อัปเดตรายการแพ็คเกจ APT ให้ใหม่ล่าสุด
   sudo apt update
  1. ติดตั้ง Node.js และ npm
   sudo apt install nodejs npm
  1. ตรวจสอบการติดตั้ง
   node -v
   npm -v

ถ้าขึ้นเวอร์ชันหลังรันคำสั่ง ถือว่าติดตั้งสำเร็จ

ข้อดี: ง่ายและปลอดภัยที่สุด

  • ติดตั้งผ่าน repo ของ Ubuntu จึงเชื่อถือได้สูง
  • คำสั่งเรียบง่าย เหมาะกับมือใหม่
  • สามารถอัปเดตไปพร้อมกับระบบผ่าน APT ได้ ง่ายต่อการดูแล

เหมาะสำหรับผู้ที่แค่ อยากทดลองใช้ Node.js หรือไม่อยากเปลี่ยนแปลงเซิร์ฟเวอร์มาก

ข้อจำกัด: อาจได้เวอร์ชันเก่า

APT เน้นความเสถียร ทำให้ Node.js เวอร์ชันที่ได้อาจล้าหลังไปหลายรุ่น

เช่น บน Ubuntu 22.04 อาจได้ Node.js เวอร์ชัน 12 หรือ 14 ผ่าน APT ซึ่งอาจไม่มีฟีเจอร์หรือแพตช์ล่าสุด

และยังไม่เหมาะกับการบริหารหลายเวอร์ชันสำหรับหลายโปรเจกต์

เหมาะกับใคร?

  • มือใหม่ที่อยากลอง Node.js ทันที
  • ใช้งานในองค์กรที่ต้องการความเสถียร
  • ไม่ต้องสลับหลายเวอร์ชัน

4. วิธีที่ 2: ติดตั้ง Node.js เวอร์ชันใหม่ล่าสุดด้วย NodeSource PPA

NodeSource คืออะไร?

NodeSource คือแหล่งซอฟต์แวร์ที่ให้ Node.js เวอร์ชันล่าสุดและเสถียรสำหรับ Ubuntu/Debian โดยไม่ต้องรอ APT ทางการ เหมาะกับผู้ที่ต้องการใช้ Node.js เวอร์ชันใหม่ โดยยังคงใช้งานผ่าน APT ได้เหมือนเดิม

แนะนำโดยเว็บไซต์ทางการ Node.js และนิยมในองค์กรขนาดใหญ่

ขั้นตอนการติดตั้ง (ตัวอย่าง Node.js 18.x)

  1. อัปเดตรายการแพ็คเกจ
   sudo apt update
  1. หากยังไม่มี curl ให้ติดตั้งก่อน
   sudo apt install curl
  1. รันสคริปต์ติดตั้ง NodeSource
   curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
  1. ติดตั้ง Node.js
   sudo apt install -y nodejs
  1. ตรวจสอบเวอร์ชัน
   node -v
   npm -v

ข้อดี: ใช้งาน Node.js ใหม่ล่าสุดแบบ APT เดิมๆ

  • ติดตั้ง Node.js เวอร์ชันล่าสุดหรือเสถียรได้ง่าย
  • ยังคงบริหารผ่าน APT ได้เหมือนเดิม ใช้งานคุ้นเคย
  • npm จะถูกติดตั้งอัตโนมัติ

เหมาะกับผู้ที่ต้องการ สภาพแวดล้อมที่อัปเดตเสมอ โดยไม่ต้องรอ Ubuntu

ข้อจำกัด: ต้องเพิ่ม PPA

  • มีขั้นตอนมากกว่า APT เล็กน้อย มือใหม่อาจรู้สึกยากขึ้น
  • ต้องมั่นใจว่าแหล่งที่มาเชื่อถือได้ (NodeSource ปลอดภัย)

เหมาะกับใคร?

  • นักพัฒนาที่ต้องการใช้ Node.js เวอร์ชันใหม่ล่าสุดอย่างมั่นคง
  • ผู้ใช้ที่คิดว่า APT ปกติไม่เพียงพอ แต่ยังไม่อยากยุ่งกับ nvm
  • ต้องการบริหารแพ็คเกจผ่าน APT

5. วิธีที่ 3: ใช้ nvm บริหารเวอร์ชัน (แนะนำที่สุด)

nvm คืออะไร? ตัวช่วยเปลี่ยนเวอร์ชัน Node.js ได้ตามต้องการ

nvm (Node Version Manager) คือเครื่องมือบรรทัดคำสั่งที่ช่วยบริหารและสลับเวอร์ชัน Node.js ได้ตามใจ เหมาะกับนักพัฒนาที่ต้องการใช้เวอร์ชันแตกต่างกันในแต่ละโปรเจกต์ หรือต้องการลองฟีเจอร์ทั้ง LTS และเวอร์ชันใหม่

เมื่อใช้ nvm คุณสามารถติดตั้ง Node.js ในระดับผู้ใช้โดยไม่ต้องยุ่งกับระบบหลัก สร้างสภาพแวดล้อม dev ที่ยืดหยุ่นได้ง่าย

ขั้นตอนการติดตั้ง nvm

  1. รันสคริปต์ติดตั้งด้วย curl
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  1. โหลดไฟล์ตั้งค่า shell (ขึ้นกับ shell ที่ใช้)
   source ~/.bashrc

หรือถ้าใช้ Zsh:

   source ~/.zshrc
  1. ตรวจสอบว่าติดตั้ง nvm แล้วหรือยัง
   command -v nvm

ถ้าขึ้นว่า nvm แสดงว่าพร้อมใช้งาน

ติดตั้ง Node.js ด้วย nvm

  1. ติดตั้ง LTS (Long Term Support):
   nvm install --lts
  1. หรือติดตั้งเวอร์ชันที่ต้องการ:
   nvm install 18
  1. เลือกเวอร์ชันที่จะใช้:
   nvm use 18
  1. ตั้งเวอร์ชันเริ่มต้น:
   nvm alias default 18
  1. ตรวจสอบเวอร์ชัน:
   node -v
   npm -v

ข้อดี: ยืดหยุ่นสูงและบริหารง่าย

  • สลับเวอร์ชัน Node.js ได้หลายตัวทันที
  • npm จะถูกติดตั้งอัตโนมัติ
  • ไม่ต้องใช้ sudo หลีกเลี่ยงปัญหา permission
  • ไม่ยุ่งกับระบบหลัก เหมาะสำหรับ dev environment

ข้อจำกัด: ต้องตั้งค่าเริ่มต้นเล็กน้อย

  • ถ้าไม่โหลด .bashrc หรือ .zshrc nvm จะไม่พร้อมใช้งาน
  • เป็นการติดตั้งระดับผู้ใช้ ไม่ใช่ระดับระบบ

เหมาะกับใคร?

  • นักพัฒนาที่ต้องสลับ Node.js หลายเวอร์ชัน
  • คนที่ทำหลายโปรเจกต์ที่เวอร์ชันต่างกัน
  • มือใหม่ที่อยากเลี่ยงปัญหา permission

6. การใช้งานและติดตั้ง npm และ yarn

npm คืออะไร? ตัวจัดการแพ็คเกจขาดไม่ได้ของ Node.js

npm (Node Package Manager) คือเครื่องมือจัดการแพ็คเกจสำหรับ Node.js ช่วยให้ติดตั้งและบริหารไลบรารี/เครื่องมือที่นักพัฒนาทั่วโลกสร้างขึ้นได้ง่ายมาก การพัฒนา Node.js ขาด npm ไม่ได้

ไม่ว่าคุณจะติดตั้ง Node.js ผ่าน APT, NodeSource หรือ nvm ก็ตาม npm จะติดตั้งมาพร้อมกันเสมอ

คำสั่งเช็คเวอร์ชัน:
npm -v

วิธีใช้ npm เบื้องต้น

การกระทำตัวอย่างคำสั่ง
ติดตั้งแพ็คเกจnpm install <package-name>
ติดตั้งแบบ globalnpm install -g <package-name>
ถอนการติดตั้งnpm uninstall <package-name>
สร้างโปรเจกต์ใหม่npm init หรือ npm init -y
แสดงรายการแพ็คเกจnpm list หรือ npm list -g

npm มีบทบาทสำคัญในการบริหารไลบรารีสำหรับแต่ละโปรเจกต์

yarn คืออะไร? ตัวเลือกยอดนิยมแทน npm

yarn คือเครื่องมือจัดการแพ็คเกจที่ Facebook พัฒนาเพื่อแทนที่ npm เน้นความเร็วและความเสถียร ใช้คำสั่งเหมือน npm เกือบทั้งหมด

ขั้นตอนติดตั้ง yarn (ผ่าน npm)

npm install -g yarn

หลังติดตั้ง ตรวจสอบเวอร์ชันด้วย:

yarn -v

วิธีใช้ yarn เบื้องต้น

การกระทำตัวอย่างคำสั่ง
ติดตั้งแพ็คเกจyarn add <package-name>
ติดตั้งแบบ globalyarn global add <package-name>
ถอนการติดตั้งyarn remove <package-name>
สร้างโปรเจกต์ใหม่yarn init
แสดงรายการแพ็คเกจyarn list หรือ yarn global list

ควรเลือกใช้ npm หรือ yarn?

เปรียบเทียบnpmyarn
มาตรฐานมาพร้อม Node.jsต้องติดตั้งเพิ่ม
ความเร็วปกติเร็วกว่าเพราะ cache
ไฟล์ล็อกpackage-lock.jsonyarn.lock
ความเข้ากันได้กับคำสั่งแทบทั้งหมด (แต่อย่าลืมตรวจสอบ)

npm (v7 ขึ้นไป) ดีขึ้นมากแล้ว เลือกตัวที่ทีมงานใช้ก็เพียงพอ

7. ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

ข้อผิดพลาดและวิธีแก้เบื้องต้น

node: command not found

สาเหตุ:
Node.js ยังไม่ถูกติดตั้ง หรือ path ไม่ถูกต้อง โดยเฉพาะหลังใช้ nvm แล้วไม่ได้โหลด shell

วิธีแก้:

  • รัน source ~/.bashrc หรือ source ~/.zshrc เพื่อเปิดใช้งาน nvm
  source ~/.bashrc
  • ถ้ายังไม่ได้ผล ลอง logout หรือ restart ใหม่

E: Unable to locate package nodejs

สาเหตุ:
รายการแพ็คเกจ APT เก่า หรือยังไม่ได้เพิ่ม PPA

วิธีแก้:

  • อัปเดต APT
  sudo apt update
  • ถ้าใช้ NodeSource ให้รันสคริปต์ใหม่อีกครั้ง

npm ERR! permission denied

สาเหตุ:
ติดตั้ง global package ด้วย npm แล้ว permission ไม่พอ

วิธีแก้:

  • ใช้ sudo ติดตั้ง (แต่ไม่แนะนำเสมอไป)
  sudo npm install -g <package-name>
  • ใช้ nvm จะไม่เจอปัญหา permission

nvm: command not found

สาเหตุ:
nvm ติดตั้งแล้ว แต่ shell ไม่ได้โหลดไฟล์ตั้งค่า

วิธีแก้:

  • เช็คว่า .bashrc หรือไฟล์ตั้งค่าอื่นมีโค้ดสำหรับ nvm หรือไม่
  • โหลดไฟล์ตั้งค่าด้วยตนเอง
  export NVM_DIR="$HOME/.nvm"
  [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

แนวทางหลีกเลี่ยงปัญหา

  • เช็ค path เป็นประจำ
  • แนะนำให้ใช้ nvm เป็นหลัก จะลดปัญหาเรื่อง environment ได้มาก
  • ระวังเรื่องเวอร์ชัน Ubuntu กับ Node.js (บน LTS เก่า repo อาจไม่มีอัปเดต)

8. คำถามที่พบบ่อย (FAQ)

Q1. จะเช็คเวอร์ชัน Node.js ได้อย่างไร?

A. รันคำสั่งใน terminal:

node -v

ถ้าต้องการดูเวอร์ชัน npm ด้วย ให้ใช้:

npm -v

Q2. จะใช้ Node.js หลายเวอร์ชันบน Ubuntu ได้อย่างไร?

A. แนะนำให้ใช้ nvm (Node Version Manager) หลังติดตั้ง nvm ใช้คำสั่งด้านล่างนี้สลับเวอร์ชัน:

nvm install 16
nvm use 16

สะดวกมากสำหรับการบริหารหลายโปรเจกต์

Q3. ติดตั้ง Node.js ด้วย nvm แล้วแต่ยังใช้ไม่ได้?

A. สาเหตุหลักคือ shell ยังไม่ได้โหลดไฟล์ตั้งค่า หลังติดตั้งให้รัน:

source ~/.bashrc

หรือถ้าใช้ zsh ให้ใช้ source ~/.zshrc

Q4. yarn กับ npm ต่างกันอย่างไร? ควรใช้อะไรดี?

A. ฟีเจอร์หลักคล้ายกัน แต่ yarn เร็วกว่าเพราะ cache และมีไฟล์ล็อกที่ชัดเจน (yarn.lock) npm รุ่นใหม่ (v7+) ก็ปรับปรุงมากแล้ว เลือกตัวที่ทีมใช้จะสะดวกที่สุด

Q5. Node.js ต่างกับ Deno หรือ Bun ยังไง?

A. Deno และ Bun คือ runtime ใหม่ที่พัฒนาต่อจาก Node.js เพื่อลดข้อจำกัดต่างๆ

  • Deno: รองรับ TypeScript โดยตรง เน้นความปลอดภัย มีไลบรารีมาตรฐานในตัว
  • Bun: เน้นความเร็วสูงและมี package manager ในตัว

แต่ ณ ปัจจุบัน Node.js ยังเป็นตัวเลือกหลักเพราะ ecosystem npm ใหญ่ที่สุด

9. สรุป: เลือกวิธีติดตั้งตามเป้าหมายของคุณ

Ubuntu มีวิธีติดตั้ง Node.js ได้หลายแบบ แต่ละแบบเหมาะกับเคสแตกต่างกัน บทความนี้นำเสนอ 3 วิธีหลัก พร้อมเปรียบเทียบและแนะแนวทางเลือกที่เหมาะกับแต่ละกรณี

สรุปจุดเด่นแต่ละวิธี:

APT (Ubuntu ทางการ)

  • ข้อดี: ง่ายและปลอดภัย
  • ข้อจำกัด: เวอร์ชันอาจล้าหลัง
  • แนะนำ: มือใหม่ที่อยากทดลองใช้

NodeSource PPA

  • ข้อดี: ได้ Node.js เวอร์ชันใหม่ผ่าน APT
  • ข้อจำกัด: ต้องเพิ่ม PPA
  • แนะนำ: นักพัฒนาที่ต้องการเวอร์ชันเสถียรล่าสุด

nvm (Node Version Manager)

  • ข้อดี: สลับเวอร์ชันได้ ยืดหยุ่น
  • ข้อจำกัด: ต้องตั้งค่าเล็กน้อย
  • แนะนำ: นักพัฒนาระดับกลางขึ้นไป หรือผู้ที่ทำหลายโปรเจกต์

บทความนี้ยังแนะนำเครื่องมืออย่าง npm และ yarn วิธีแก้ปัญหาที่พบบ่อย การติดตั้ง Node.js บน Ubuntu ไม่ยาก หากเลือกวิธีที่เหมาะสม

หากต้องการขยายงานในอนาคต แนะนำให้ใช้ nvm เป็นหลัก จะสะดวกต่อทีมและ CI/CD