มาใช้ 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 ตามที่ลูกศรชี้
หลักจากติดตั้งเสร็จแล้วก็มาดูคำสั่งพื้นฐานที่ควรรู้ครับ
เลือกติดตั้ง 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 ทั้งหมดที่มี
nvm list-remote
เรียกใช้ 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 ที่ไม่ได้ใช้ออกด้วยคำสั่ง
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 เราเสียก่อน ดังภาพ
หลังจากนั้นพอเราใช้คำสั่ง nvm use
โดยที่ไม่ต้องระบุ version ตัว nvm จะมาดู version จาก file .nvmrc ว่าระบุว่าเป็น version อะไรก็จะเลือกใช้ version นั้น ๆ ให้เองโดยอัตโนมัติ
สำหรับท่านใดที่ลองทำตามแล้วไม่ได้ หรือว่าติดขัดอย่างไรสามารถเข้ามาพูดคุยแลกเปลี่ยนกันได้ที่ หน้า page facebook : pnpsolution หรือ web site : www.pnpsw.com ได้ครับ