nvm จะทำให้ Node และ npm อยู่ภายใต้มัน อีกทั้งยังสามารถติดตั้ง Node และ npm ได้หลายเวอร์ชั่นอีกด้วย

เราสามารถติดตั้ง nvm ได้โดยการใช้ command line ใน Terminal ดังนี้

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

ตัว command จะไปดาวโหลดไฟล์และรันสคริปต์ จากภาพด้านล่างจะเห็นว่า nvm ได้ถูกติดตั้งอยู่ที่ path /Users/${my_name}/.nvm

ปกติหากเราปิดและเปิด Terminal ใหม่จะสามารถใช้งาน command nvm ได้ แต่จากภาพสคริปต์ได้บอกเราว่า

Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zprofile, ~/.zshrc, and ~/.profile.

Terminal ยังไม่รู้จักคำสั่ง nvm ให้เราเช็คว่าตอนนี้ใน Terminal เราใช้ shell อะไรอยู่ ด้วยคำสั่ง

echo $SHELL

และให้เราเข้าไปที่โปรแกรม Finder ที่ path /Users/${my_name} โดยเช็คว่าเราใช้ user อะไรอยู่จากคำสั่ง whoami ใน Terminal

whoami

หาก echo $SHELL แสดงผลลัพธ์ /bin/zsh ให้เราเพิ่ม

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

ต้อท้ายไฟล์ใน /Users/${my_name}/.zprofile หากไม่มีไฟล์ ให้สร้างไฟล์ใหม่

หาก echo $SHELL แสดงผลลัพธ์ /bin/bash ให้ไปที่ไฟล์ /Users/${my_name}/.bash_profile แทน

บันทึกไฟล์และเปิด Terminal ใหม่ จะพบว่ารู้จักคำสั่ง nvm แล้ว ต่อไปปัญหาที่ตามมาคือสคริปต์ nvm จากภาพบนๆ ตรวจพบว่าที่เครื่องยังมีแพคเกจ Node และ npm ที่เป็น global ในเครื่องอยู่

You currently have modules installed globally with npm. These will no
=> longer be linked to the active version of Node when you install a new node
=> with nvm; and they may (depending on how you construct your $PATH)
=> override the binaries of modules installed with nvm:

ซึ่งเราจะปล่อยไว้อย่างนั้นแหละ ไม่ลบเนื่องจากจะทำให้แพคเกจที่ถูกติดตั้งเก่าๆ ใช้งานไม่ได้

ติดตั้ง Node และ npm ภายใต้ nvm

เราจะติดตั้ง Node และ npm ภายใต้ nvm ได้ด้วยคำสั่งใน Terminal

nvm install node # "node" is an alias for the latest version

nvm จะติดตั้งเวอร์ชันล่าสุดให้และเซ็ท default Node และ npm มาที่ path ของ nvm โดยอัตโนมัติ

หากเรามี Node หลายเวอร์ชัน ให้ใช้คำสั่ง

nvm use 23

23 คือเวอร์ชันของ Node เช่นเวอร์ชัน v23.8.0

คำสั่งติดตั้งแบบระบุเวอร์ชัน

nvm install 14.7.0
💡
เมื่อติดตั้ง Node, nvm จะใช้ Node เวอร์ชันที่เราติดตั้งครั้งล่าสุด

คำสั่งแสดงเวอร์ชันของ Node ทั้งหมดที่สามารถติดตั้งได้

nvm ls-remote