มาใช้ nvm จัดการ node version กันเถอะ

Sommai Krangpanich
pnpsolution
Published in
2 min readJul 11, 2022
มาใช้ nvm จัดการ node version กันเถอะ
มาใช้ nvm จัดการ node version กันเถอะ

เนื่องจากผมเองมักจะเจอปัญหาเรื่อง node version ไม่ตรงกันระหว่างทีมงานกันเองหรือแม้กระทั่งเรากับลูกค้าเองก็มักจะพบกับปัญหาเรื่อง version ไม่ตรงกันหลายต่อหลายครั้ง

เริ่มต้นที่การติดตั้ง nvm (node version manager) เข้าไปที่เครื่องเราเสียก่อน

Linux / Mac

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashหรือwget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

ตั้งค่า Path

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"

Windows

Download file ได้ที่นี่ แล้วเลือก download file ตามที่ลูกศรชี้

เลือก download file ตามที่ลูกศรชี้
เลือก download file ตามที่ลูกศรชี้

หลักจากติดตั้งเสร็จแล้วก็มาดูคำสั่งพื้นฐานที่ควรรู้ครับ

เลือกติดตั้ง node ตาม version ที่ต้องการ

nvm install <node version>

node version ต่าง ๆ สามารถหาได้ด้วยคำสั่ง nvm list-remoteหรือถ้าต้องการติดตั้งเฉพาะ node version lts (long term suport) ก็สามารถระบุไปได้ เช่น

nvm install --lts

ตรวจสอบ version ของ node ในเครื่องตัวเอง

nvm list
ตรวจสอบ version ของ node ในเครื่องตัวเอง
ผลลัพธ์ของการตรวจสอบ version ของ node ในเครื่องตัวเอง

ตรวจสอบ version ของ node ทั้งหมดที่มี

nvm list-remote
ผลลัพธ์ของการตรวจสอบ version ของ node ทั้งหมดที่มี
ผลลัพธ์ของการตรวจสอบ version ของ node ทั้งหมดที่มี

เรียกใช้ node ในแต่ละ version

nvm use <node-version>เช่นnvm use 16

การสร้าง alias ให้ก้บ node

ในกรณีที่เราต้องการตั้งชื่อใช้กับ node version ที่เราต้องการเช่น nest-support เราก็สามารถตั้งด้วยคำสั่งดังนี้

syntax : nvm alias <name> <node version>ตัวอย่าง : nvm alias nest-support 16

สามารถตรวจสอบว่าในเครื่องเรามี alias อะไรบ้างด้วยคำสั่ง nvm list

alias ที่มีทั้งหมดในเครื่องตัวเอง
alias ที่มีทั้งหมดในเครื่องตัวเอง

การลบ alias ที่ไม่ได้ใช้ออกด้วยคำสั่ง

syntax: nvm unalias <name>example: nvm unalias nest-support

Run Program โดยไม่ต้อง switch node version

ตัว nvm ลองรับการ run program โดยที่ไม่จำเป็นต้อง switch node version ด้วยคำสั่ง nvm use <node version> โดยใช้คำสั่งดังนี้

สมมุติโปรแกรมเราชื่อว่า app.js
syntax: nvm run <node version> <program name>
example: nvm run 16 app

ตัวโปรแกรม app.js ก็จะถูก run ด้วย node version 16

ระบุ version ของ node ที่ project นั้น ๆ ใช้

ในกรณีที่มีหลาย project แล้วแต่ละ project ก็ใช้กันหลากหลาย version ตัว nvm มีตัวช่วยตัวนึง คือการสร้าง file .nvmrc ซื่ง file นี้จะมีหน้าที่เก็บข้อมูล version ของ node ที่เราต้องการใช้ใน project เรา โดยเราจำเป็นต้องสร้าง file .nvmrc ใว้ใน project เราเสียก่อน ดังภาพ

ตัวอย่าง file .nvmrc
ตัวอย่าง file .nvmrc

หลังจากนั้นพอเราใช้คำสั่ง nvm use โดยที่ไม่ต้องระบุ version ตัว nvm จะมาดู version จาก file .nvmrc ว่าระบุว่าเป็น version อะไรก็จะเลือกใช้ version นั้น ๆ ให้เองโดยอัตโนมัติ

สำหรับท่านใดที่ลองทำตามแล้วไม่ได้ หรือว่าติดขัดอย่างไรสามารถเข้ามาพูดคุยแลกเปลี่ยนกันได้ที่ หน้า page facebook : pnpsolution หรือ web site : www.pnpsw.com ได้ครับ

--

--