ค้นหาเว็บไซต์

NVM - ติดตั้งและจัดการ Node.js หลายเวอร์ชันใน Linux


Node Version Manager (เรียกสั้นๆ ว่า NVM) เป็นสคริปต์ทุบตีง่ายๆ ในการจัดการเวอร์ชัน node.js ที่ใช้งานอยู่หลายเวอร์ชันบนระบบ Linux ของคุณ ช่วยให้คุณสามารถติดตั้ง node.js เวอร์ชันได้หลายเวอร์ชัน และดูเวอร์ชันทั้งหมดที่พร้อมสำหรับการติดตั้งและเวอร์ชันที่ติดตั้งทั้งหมดบนระบบของคุณ

Nvm ยังรองรับการเรียกใช้เวอร์ชัน node.js ที่เฉพาะเจาะจง และสามารถแสดงเส้นทางไปยังไฟล์ปฏิบัติการไปยังตำแหน่งที่ติดตั้งไว้ และอื่นๆ อีกมากมาย

ในบทความนี้ เราจะอธิบายวิธีการติดตั้ง Node Version Manager (NVM) เพื่อจัดการเวอร์ชัน node.js ที่ใช้งานอยู่หลายเวอร์ชันบนการกระจาย Linux ของคุณ

การติดตั้ง NVM (Node Version Manager) ใน Linux

หากต้องการติดตั้งหรืออัปเดต nvm บน Linux ของคุณ คุณสามารถดาวน์โหลดสคริปต์ติดตั้งอัตโนมัติโดยใช้เครื่องมือบรรทัดคำสั่ง curl หรือ wget ดังที่แสดง

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

สคริปต์การติดตั้งอัตโนมัติด้านบนจะโคลนพื้นที่เก็บข้อมูล nvm ไปยัง ~/.nvm ในโฮมไดเร็กตอรี่ของคุณ และเพิ่มคำสั่งซอร์สที่จำเป็นลงในสคริปต์เริ่มต้นเชลล์ของคุณ เช่น ~/ .bash_profile, ~/.zshrc, ~/.profile หรือ ~/.bashrc ขึ้นอยู่กับโปรแกรมเชลล์ที่คุณ กำลังใช้งานดังแสดงในผลลัพธ์ต่อไปนี้

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0  34227      0 --:--:-- --:--:-- --:--:-- 34301
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 359, done.
remote: Counting objects: 100% (359/359), done.
remote: Compressing objects: 100% (305/305), done.
remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0
Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done.
Resolving deltas: 100% (40/40), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> 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`:
...

เมื่อการติดตั้งเสร็จสมบูรณ์ ให้ปิดหน้าต่างเทอร์มินัลปัจจุบันของคุณแล้วเปิดหน้าต่างใหม่ หรือเพียงแค่ซอร์สไฟล์โปรไฟล์เชลล์ของคุณเพื่อโหลด nvm ตัวอย่างเช่น หากคุณใช้ bash ให้รันคำสั่งต่อไปนี้:

source ~/.bashrc
OR
source ~/.profile

ต่อไป ตรวจสอบว่าได้ติดตั้ง nvm ในระบบของคุณหรือไม่โดยใช้คำสั่งต่อไปนี้

command -v nvm

nvm

จะแสดงเอาต์พุตเป็น 'nvm' หากการติดตั้งสำเร็จ

ติดตั้ง Node.js หลายเวอร์ชันโดยใช้ NVM

ตอนนี้ถึงเวลาเรียนรู้วิธีใช้ Node Version Manager ใน Linux หากต้องการดาวน์โหลด คอมไพล์ และติดตั้ง โหนด รุ่นล่าสุด ให้เรียกใช้คำสั่งต่อไปนี้:

nvm install node 

โปรดทราบว่าในคำสั่งข้างต้น “node” เป็นชื่อแทนสำหรับเวอร์ชันล่าสุด

Downloading and installing node v20.0.0...
Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.0.0 (npm v9.6.4)
Creating default alias: default -> node (-> v20.0.0)

หากต้องการติดตั้งเวอร์ชัน “โหนด” เฉพาะ ให้ระบุเวอร์ชันของโหนดที่มีอยู่ก่อน จากนั้นจึงติดตั้งเวอร์ชันตามที่แสดง

nvm ls-remote
nvm install 19.0.0  
Downloading and installing node v19.0.0...
Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v19.0.0 (npm v8.19.2)

เมื่อคุณติดตั้งเวอร์ชัน Node.js โดยใช้ nvm แล้ว ระบบควรชี้ไปที่ Node.js และ npm เวอร์ชันภายใต้ nvm คุณสามารถตรวจสอบตำแหน่งของ โหนด และ npm ไบนารี/คำสั่งที่ใช้งานอยู่ได้โดยการรันคำสั่ง ซึ่ง ดังนี้:

which node
/root/.nvm/versions/node/v20.0.0/bin/node

# which npm
/root/.nvm/versions/node/v20.0.0/bin/npm

# node -v
v20.0.0

# npm -v
9.6.4

การแสดงรายการเวอร์ชัน Node.js ที่ติดตั้ง

คุณสามารถตรวจสอบเวอร์ชันที่ติดตั้งทั้งหมดด้วยคำสั่งต่อไปนี้:

nvm ls
->      v19.0.0
        v20.0.0
         system
default -> node (-> v20.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.0.0) (default)
stable -> 20.0 (-> v20.0.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.0 (-> N/A)
lts/hydrogen -> v18.16.0 (-> N/A)

เลือกเวอร์ชันโหนดสำหรับโปรเจ็กต์

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

เปิดเทอร์มินัลหลายเครื่องแล้วย้ายไปยังไดเรกทอรี โครงการ สำหรับคู่มือนี้ เรามีสองโปรเจ็กต์ภายใต้ ~/projects/app-server และ ~/projects/test-ui ที่ต้องใช้โหนดเวอร์ชัน 19.0.0 และ 20.0.0 อย่างหลอกลวง .

------------ Project 1 ------------ 
cd ~/projects/api-server
nvm use 19.0.0
node -v

------------ Project 2 ------------
cd ~/projects/test-ui
nvm use 20.0.0
node -v

ตัวอย่างเช่น หากคุณมีแพ็คเกจสากลติดตั้งเมื่อเวอร์ชัน 19.0.0 ทำงานอยู่ เมื่อคุณเปลี่ยนเป็นเวอร์ชัน 20.0.0 คุณจะต้องติดตั้งแพ็คเกจสากลใหม่ภายใต้เวอร์ชันใหม่

ที่สำคัญ คุณสามารถดูพาธไปยังไฟล์ปฏิบัติการที่ติดตั้งเวอร์ชันโหนดเฉพาะได้ดังนี้:

nvm which 20.0.0
nvm which 19.0.0
nvm which system  #check system-installed version of a node using “system” alias

ตั้งค่าเวอร์ชันเริ่มต้นของ Node.js ใน Linux

นอกจากนี้ หากต้องการตั้งค่าเวอร์ชันโหนดเริ่มต้นด้วยตนเองเพื่อใช้ในเชลล์ใหม่ ให้ใช้นามแฝง “default” ดังที่แสดง

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

การถอนการติดตั้งเวอร์ชัน Node.js ใน Linux

หากต้องการถอนการติดตั้งหรือลบเวอร์ชันของ Node.js ให้ใช้คำสั่งต่อไปนี้ (อย่าลืมแทนที่ 19.0.0 ด้วยหมายเลขเวอร์ชัน):

nvm uninstall 19.0.0

การถอนการติดตั้ง NVM ใน Linux

หากต้องการลบ nvm ออกจากระบบด้วยตนเอง ให้รันคำสั่งต่อไปนี้:

rm -rf "$NVM_DIR"
OR
rm -rf ~/.nvm

จากนั้น แก้ไข ~/.bashrc (หรือไฟล์กำหนดค่าโปรไฟล์เชลล์ที่เกี่ยวข้อง ดังที่แสดงไว้ด้านบน) และลบบรรทัดการกำหนดค่าต่อไปนี้:

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

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ nvm --help หรือไปที่พื้นที่เก็บข้อมูล Node Version Manager Github: https://github.com/nvm-sh/nvm

นั่นคือทั้งหมด! Node Version Manager เป็นสคริปต์ทุบตีง่ายๆ ที่ใช้จัดการเวอร์ชัน node.js ที่ใช้งานอยู่หลายเวอร์ชันบนระบบ Linux ของคุณ ใช้แบบฟอร์มคำติชมด้านล่างเพื่อถามคำถามหรือแบ่งปันความคิดเห็นของคุณกับเรา