วิธีสลับ Node.js หลายๆ version ในเครื่องเดียว โดยไม่ต้องลงใหม่ซ้ำๆ (วิธีใช้ n – Interactively Manage Your Node.js Versions)

Node.js Mar 9, 2023

การใช้งาน Node.js ในปัจจุบันนี้ หลายๆครั้งที่เราอาจจะจำเป็นต้องเข้าไปแก้งานเก่าๆที่เคยทำงานโดยใช้ Node.js เวอร์ชั่นเก่าๆ ทำให้ไม่มีทางเลือกที่จะต้องถอยไป downgrade ตัว Node ให้สอดคล้องกับงานนั้น แต่ถ้าเราจะต้องแก้งานนั้นเสร็จแล้ว ก็จะลำบากอีก ถ้าต้องกลับมา upgrade เวอร์ชั่นให้เป็นเหมือนเดิม และถ้าในอนาคตจะต้องกลับมาแก้งานเก่าอีกรอบ ก็ต้อง downgrade อีกรอบหนึ่ง ก็ดูจะเป็นเรื่องที่น่าลำบากไปหน่อย

เลยขอเสนอหนึ่งในวิธีที่เปลี่ยนเวอร์ชั่นของ Node โดยไม่ต้องลงกลับไปกลับมาให้วุ่นวาย หนึ่งในนั้น คือการใช้ package ที่ชื่อว่า n (ใช้แล้วครับ n ตัวเดียวห้วนๆนี่แหละ) ที่จริงเค้ามีชื่อเต็มคือ n – Interactively Manage Your Node.js Versions แต่เราจะเรียกมันว่า n นี่แหละ ง่ายดี

n
Interactively Manage All Your Node Versions. Latest version: 9.0.1, last published: 4 months ago. Start using n in your project by running `npm i n`. There are 23 other projects in the npm registry using n.

การใช้งาน ก็ติดตั้งแบบ global ได้เลย

npm install -g n

ถ้าใช้ MacOS อยู่ ติดตั้งผ่าน brew ก็สะดวกดีเหมือนกัน

brew install n

การทำงานของ n ให้คิดว่ามันเป็นตัวเก็บลิสต์ของ Node หลายๆเวอร์ชั่นเอาไว้ เพราะฉะนั้น ตอนติดตั้ง n ครั้งแรก ตัวมันก็ยังไม่มีการบันทึกอะไรเอาไว้ เหมือนเป็นลิสต์เปล่าๆ

ติดตั้ง Node.js version

วิธีเพิ่มลิสต์ของ Node version ใน n ก็พิมพ์แค่ n แล้วตามด้วยเลขเวอร์ชั่น แบบนี้
n <NODE_VERSION>
เช่น

n 16.18.1
n 18.12.1
n 19.2.0

หรือว่า ติด Error: sudo required (or change ownership, or define N_PREFIX) ก็ใส่ sudo ข้างหน้า แล้วกรอก password

sudo n 16.18.1
Password:

เช็คลิสต์ Node version ที่มีบน n โดยเวอร์ชั่นที่เราใช้อยู่ ณ ปัจจุบันจะมี o แสดงอยู่ข้างหน้า

$ n

  node/16.18.1
  node/18.12.1
ο node/19.2.0

Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

สมมติว่า ณ ปัจจุบัน เครื่องเราใช้เวอร์ชั่น 19.2.0 แล้วอยากเปลี่ยนไปใช้อันอื่น ก็เปลี่ยนเลื่อนปุ่มลูกศรขึ้น-ลง ให้ตัว o มันเลื่อนไปอยู่หน้าเลขเวอร์ชั่นที่เราต้องการ จากนั้นกด Enter เพื่อให้เครื่องเปลี่ยนเป็นเวอร์ชั่นใหม่ แค่นี้เอง เรียบร้อยละ

หลังจากนั้น ลองเช็คเวอร์ชั่นดู ก็จะพบว่า Node ได้เปลี่ยนเป็นอันที่เราเลือกเรียบร้อยแล้ว

node -v
v18.12.1

ลบเวอร์ชั่นออก

ใช้คำสั่ง n rm <NODE_VERSION> ก็ลบออกได้เลยทันที
หรือจะลบทีละหลายๆอันก็ได้ แบบนี้

n rm 16.18.1 v19.2.0

(เราสามารถระบุเลขเวอร์ชั่น โดยใส่ v นำหน้าหรือไม่ใส่ก็ได้)

หรือว่าจะลบทุกๆอันออกก็ได้ ยกเว้นอันที่เราใช้งานอยู่

n prune

สรุป

Node Library ตัวนี้ก็ค่อนข้างสะดวกเลยทีเดียว สำหรับการใช้งานหลากหลายเวอร์ชั่น เพราะรองรับกับงานต่างๆที่สอดคล้องหรือได้รับผลกระทบกับเวอร์ชั่นของ Node เอง โดยที่เราไม่ต้อง อัพเกรด ดาวน์เกรดไปมาให้วุ่นวาย ถ้าไม่ถึงกับต้องทำ Container เพื่อแยก Environment ใช้วิธีนี้ก็เหมาะดีครับ

การใช้งาน n เพิ่มเติม สามารถเข้าไปดูเพิ่มได้ที่หน้าเว็บได้เลย


ช่วงขายของ

ตอนนี้เรามีบริการรับทำเว็บไซต์เพื่อจุดประสงค์ต่างๆ เช่น
- ร้านค้าออนไลน์
- โปรโมทบริษัท
- เว็บบล็อกสำหรับเขียนบทความ
- หน้าขายของแบบหน้าเดียว (Single Page)
และอื่นๆ โดยใช้ Wordpress เป็นโครงสร้างหลังบ้านและหน้าบ้าน ทำให้ดูแลรักษาง่ายในระยะยาว
คุณไม่ต้องมีแบบมาก่อน ไม่เป็นไร เรามีหน้าเว็บตัวอย่างมาให้คุณเลือกหลายสิบแบบ ราคาคุ้มค่า และส่งมอบงานไว สามารถเข้ามาดูรายละเอียด และสอบถาม-พูดคุยได้ที่เว็บไซต์ของ OneFastWeb ได้เลยครับ ขอบคุณครับ

Tags