วิธีติดตั้ง Node.js และ NPM ในทุก Platform (Windows/MacOS/Linux)

thee
4 min readOct 7, 2023

--

บทความนี้จะสอนวิธีติดตั้ง Node.js ในแบบที่ส่วนตัวแนะนำที่สุด โดยเราจะสามารถเปลี่ยน version และ upgrade ตัวโปรแกรม Node.js ได้อย่างรวดเร็วใน command line ของเราเองเลย

มาติดตั้ง Node.js และ NPM กัน ~

MacOS/Linux

เปิดโปรแกรม Terminal ในเครื่องตัวเองเพื่อเตรียมรันคำสั่งเลย

โปรแกรม Terminal ของ MacOS
โปรแกรม Terminal ของ MacOS

Copy โค้ดนี้แล้วกด Enter เพื่อติดตั้ง nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash

การรันคำสั่งดังกล่าวจะเพิ่มบรรทัดดังกล่าวเข้าไปในไฟล์ profile ของ shell (~/.bash_profile, ~/.zshrc, ~/.profile, หรือ ~/.bashrc) — ถ้ารันคำสั่งข้างล่างไม่สำเร็จ ให้ลองเพิ่มบรรทัดข้างล่างไปในไฟล์ดังกล่าว

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

ปล. ให้เปลี่ยนคำสั่งนี้เป็น nvm เวอร์ชันปัจจุบันด้วย โดยสามารถตรวจสอบเวอร์ขัน NVM ได้ที่หน้า GitHub ของ nvm

เปลี่ยน version ของ nvm ได้ที่ตรงนี้

เมื่อรันคำสั่งสำเร็จ จะขึ้นเป็นข้อความประมาณนี้

รันคำสั่งได้เลย~

ถ้ารัน command สำเร็จแล้ว ให้รัน commnad นี้เพื่อติดตั้ง Node.js และ NPM เวอร์ชัน LTS (Long Term Support) เลย

LTS (Long Term Support) เป็นเวอร์ชันของ Node.js ที่ถูกปล่อยมาสักพักนึงแล้ว เลยค่อนข้างมั่นใจได้ว่าจะเสถียรมากกว่าถ้าเทียบกับเวอร์ชันล่าสุด

nvm install --lts
nvm use --lts
ดาวน์โหลด Node.js เวอร์ชัน LTS

หากรันครบทุกคำสั่งดังกล่าวแล้ว Node.js จะถูกติดตั้งในเครื่องสำเร็จแล้ว

node -v # ทดสอบ Node.js
npm -v # ทดสอบ npm

Windows

เนื่องจาก Command Line ของ Windows จะรับชุดคำสั่งคนละแบบกับ MacOS/Linux วิธีติดตั้ง Node.js/NPM ใน Windows เลยจะแตกต่างจากชาวบ้านหน่อย โดยสามารถติดตั้ง Node.js/NPM ใน Windows ได้ 2 แบบ :

  1. ใช้ Command Prompt ของ Windows
  2. [วิธีหาทำ] ใช้ WSL — Command Line แบบ Unix (เหมือน MacOS/Linux)

ใช้ Command Prompt ของ Windows

ให้โหลด https://github.com/coreybutler/nvm-windows เพื่อรัน nvm ใน Command Prompt ของ Windows ได้ (อาจจะมีบางคำสั่งที่ไม่สามารถรันในนี้ได้ แต่ถ้าไม่ได้ใช้อะไร advanced ก็โหลดแบบนี้ไปก่อนได้)

[วิธีหาทำ] ใช้ WSL — Command Line แบบ Unix (เหมือน MacOS/Linux)

WSL (Windows Subsystem for Linux) เป็นฟีเจอร์ของ Windows ที่จะทำให้คอมพิวเตอร์ Windows สามารถรันคำสั่งเหมือน Linux ได้ ซึ่งจะทำให้การทำงานใน Command Line ในเครื่อง Windows ง่ายขึ้นเยอะมาก

วิธีติดตั้ง WSL2 ใน Windows

Node.js

“Node.js is an open-source and cross-platform JavaScript runtime environment.” — Nodejs.dev Docs

Node.js เป็น runtime environment ของภาษา​ JavaScript ที่ open-source และ cross-platform
— แปลโดยธีเอง

อาจจะฟังดูงง ๆ งั้นเรามาอธิบายกันทีละคำแล้วกัน

Node.js เป็น open-source

Node.js เป็นโปรแกรมที่ open-source — หมายความว่า source code ของ Node.js นั้นถูกเปิดให้ดูแบบ public ได้ และถูกพัฒนาต่อโดย community ที่ใช้ Node.js ได้ โดยใครก็ตามก็สามารถส่ง contribution เพื่อช่วยพัฒนา Node.js ให้ดีขึ้น หรือแจ้งปัญหาเพื่อนำไปพัฒนาโปรเจกต์ต่อได้

Node.js เป็น cross-platform

Node.js สามารถถูกรันได้ทุกที่ ทุก platform ไม่ว่าจะเป็น Windows, MacOS หรือ Linux

Node.js เป็น runtime environment ของภาษา​ JavaScript

หน้าที่ของ runtime environment คือการ execute (รันโค้ด) โปรแกรมภาษา JavaScript ให้ออกมาเป็นผลลัพธ์ โดยเราสามารถใช้ Node.js ในการเขียน server-side applications ต่าง ๆ รวมถึงการทำ Back-end ของเว็บไซต์ด้วย

พูดง่าย ๆ คือเราเอาภาษา JavaScript ที่ปกติจะสามารถรันได้แค่ภายใน web browser มารันในฝั่ง server-side (back-end) นั่นเอง

ตัวอย่างการ execute (รันโค้ด) โปรแกรมภาษา JavaScript

NPM

NPM (Node Package Manager) เป็นเครื่องมือที่ติดตั้งมาพร้อมกับ Node.js เพื่อช่วยในการติดตั้งโปรแกรม Node.js อื่น ๆ (เช่น Library อย่าง Express, React)

ตัวอย่างการ install โปรแกรม Express ด้วย NPM

โอเค รู้จักทั้ง Node.js และ NPM กันแล้ว ได้เวลาติดตั้งโปรแกรมกัน !

NVM คืออะไร ? ทำไมถึงต้องใช้ NVM ?

NVM (Node Version Manager) เป็นเครื่องมือที่ช่วยในการจัดการเวอร์ชันของ Node.js โดยเราจะสามารถดาวน์โหลดและติดตั้ง Node.js เวอร์ชันไหนก็ได้ด้วยคำสั่งบรรทัดเดียวใน Command Line

ทำไมถึงต้องใช้ NVM ? ทำไมไม่โหลด Node.js จากเว็บหลักเลยล่ะ ?

Node.js มีการอัปเดตอยู่เสมอ และนาน ๆ ทีจะมีการอัปเดต Major Release อยู่เรื่อย ๆ (ถ้าสงสัยว่าตัวเลขเวอร์ชันมาจากไหน สามารถอ่านต่อเกี่ยวกับ Software Versioning ได้) ซึ่งอาจจะเกิด Breaking Change ที่ทำให้เราไม่สามารถรันโปรเจกต์เก่า ๆ ได้

เพราะฉะนั้น ถ้าเราทำโปรเจกต์ใน Node.js ไปนาน ๆ เราจะมีโปรเจกต์ที่เวอร์ชัน Node.js ที่ใช้รันไม่ตรงกันได้ ดังนั้นการที่เราสามารถติดตั้ง หรือเปลี่ยนเวอร์ชัน Node.js ได้เร็ว ๆ จะเป็นอะไรที่สะดวกมาก

แต่ละโปรเจกต์อาจจะใช้ node เวอร์ชันไม่เหมือนกันก็ได้

เสร็จแล้ว ~ เรียนอะไรต่อดี

เริ่มจากตรงนี้เลย !

Learn JavaScript

Introduction to Node.js

NVM

Learn TypeScript

ลองมาเขียน TypeScript กัน ~ (TypeScript เป็นภาษาโปรแกรมมิ่งที่คำสั่งคล้ายกับ JavaScript แต่มีการเพิ่มระบบ typing และฟีเจอร์เจ๋ง ๆ อย่างอื่นมา)

Thinc. — สอนเขียนโปรแกรมภาษา TypeScript

--

--

thee
0 Followers

engineering student at chulalongkorn university — alive