NVM คืออะไร แชร์เทคนิคการใช้งาน

Sharing is caring!

ปัญหาเรื่องของ version ของแต่ละภาษาโปรแกรมมิ่งมักจะทำให้เหล่านักพัฒนาปวดหัวมิใช่น้อย ปัญหาที่มักพบ เครื่องคอมเครื่องเดียว จะติดตั้ง NodeJS หลาย ๆ version มันไม่สามารถทำได้ เพราะเมื่อไหร่ที่เราอยากที่จะอัพเกรด version ของ NodeJS โปรเจคเก่า ๆ จะไม่สามารถ start มันให้กลับมาทำงานได้เหมือนเดิม เพราะปัญหา dependencies ต่าง ๆ เพราะบาง features ที่เคยใช้งานได้ Node version ใหม่ ๆ ไม่รองรับการทำงานแล้วนั้นเอง

NVM คืออะไร

nvm เป็นตัวจัดการ version สำหรับ node.js ซึ่งออกแบบมาให้ติดตั้งสำหรับผู้ใช้แต่ละราย และเรียกใช้งานต่อเชลล์ nvm ทำงานบนเชลล์ที่สอดคล้องกับ POSIX (sh, dash, ksh, zsh, bash) โดยเฉพาะอย่างยิ่งบนแพลตฟอร์มเหล่านี้: unix, macOS และ windows WSL

การติดตั้ง NVM

สามารถทำตามคำแนะนำจากนี้ได้ nvm github หรือจะเลือก copy commands เหล่านี้ก็ได้นะจ๊ะ

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

หรือ

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

หลังจากได้ทำการติดตั้งเรียบร้อยแล้ว คำแนะนำให้ copy เหล่านี้

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

ไปใส่เพิ่ม ~/.bash_profile~/.zshrc~/.profile, or ~/.bashrc ตาม OS ของเครื่องคุณว

การใช้งานเบื้องต้น

  • คำสั่งการติดตั้ง node version จะทำการค้นหา node version ล่าสุด และติดตั้งให้
nvm install node # "node" is an alias for the latest version
  • แต่ถ้าอยากที่จะติดตั้ง node version เฉพาะตามที่ต้องการ ให้ทำการใส่เลข version ของ node ไปได้เลย
nvm install 14.7.0 # or 16.3.0, 12.22.1, etc
  • แต่ถ้าเราไม่รู้ว่า version ของ node มี version อะไรเท่าไหร่บ้าง เราสามารถ list version ของ node มาดูก่อนการติดตั้งได้ โดย
nvm ls-remote
  • แต่ระบบจะแสดง version ทั้งหมด ของ node ซึ่งมันเยอะมาก และเราสามารถกรองข้อมูลเฉพาะ version ที่ stable release ได้ โดย
nvm ls-remote | grep -i 'latest'

v4.9.1 (Latest LTS: Argon)
v6.17.1 (Latest LTS: Boron)
v8.17.0 (Latest LTS: Carbon)
v10.24.1 (Latest LTS: Dubnium)
v12.22.12 (Latest LTS: Erbium)
v14.21.3 (Latest LTS: Fermium)
v16.19.1 (Latest LTS: Gallium)
-> v18.15.0 (Latest LTS: Hydrogen)

  • คำสั่งแสดง versions ของ node ทั้งหมดที่ได้ทำการติดตั้ง
nvm list
หรือ 
nvm ls

v12.9.1
v14.16.0
v14.17.6
v16.9.1
-> v18.15.0

  • การเลือก version ที่ต้องการอยากที่จะใช้งาน ตัวอย่างอยากจะใช้ version 14.16.0
nvm use 14.16.0
  • สำหรับการกำหนดให้ version เป็น default ของ nvm สามารถทำได้ด้วย
nvm alias default 16.9.1
  • ยกเลิกการติดตั้ง version ของ node ใน nvm
nvm uninstall 16.9.1

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *