NVM – התקנת מספר גרסאות של Node.js ב־Linux

Node Version Manager (NVM בקיצור) הוא סקריפט bash פשוט לניהול גרסאות node.js פעילות מרובות על מערכת ה־Linux שלך. הוא מאפשר לך להתקין מספר גרסאות node.js, ולהציג את כל הגרסאות הזמינות להתקנה ואת כל הגרסאות שמותקנות על המערכת שלך.

Nvm תומך גם בהפעלת גרסה ספציפית של node.js ויכול להציג את הנתיב לקובץ הניתן לביצוע שלו, ועוד הרבה יותר.

במאמר זה, אנו נסביר כיצד להתקין את Node Version Manager (NVM) כדי לנהל גרסאות node.js פעילות מרובות על ההפצה שלך של Linux.

התקנת NVM (מנהל גרסאות Node) ב-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, תלוי ב־תוכנת המסוף שאתה משתמש בה, כפי שמוצג בפלט הבא.

Install NVM in Linux
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 בלינוקס. כדי להוריד, לקמפל ולהתקין את הגרסה האחרונה של node, הרץ את הפקודה הבאה:

# nvm install node 

שים לב שבפקודה לעיל, “node” הוא שמותו הכינוי של הגרסה האחרונה.

Install Latest Node Version in Linux
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)

כדי להתקין גרסת “node” מסוימת, ראשית רשום את הגרסאות הזמינות של node ואז התקן את הגרסה כפי שמוצג.

# nvm ls-remote
# nvm install 19.0.0  
Install Specific Node Version in Linux
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. תוכל לבדוק את המיקום של קובץ/פקודת ה־node וה־npm המשמשים על ידי הרצת פקודת which כדלקמן:

# 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
List Installed Node Versions in Linux
->      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)

בחירת גרסת Node עבור פרויקט

כאן נכנס nvm לתמונה. עכשיו תוכל להשתמש ב־nvm כדי לבחור את הגרסת Node.js לשימוש בכל פרויקט שאתה עובד עליו, על פי הדרישות. נראה כיצד לעשות זאת, כפי שמסופר למטה.

פתח תרמינלים מרובים ועבור אל תיקיות ה־פרויקטים. לדוגמה, נמצאים לנו שני פרויקטים תחת ~/projects/app-server ו־~/projects/test-ui שדורשים גרסת Node 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
Important: Note that when switching between different versions of Node.js, any global npm packages that you have installed will not work. This is because the multiple Node.js version installations are completely independent.

לדוגמה, אם יש לך חבילה גלובלית מותקנת כאשר הגרסה 19.0.0 פעילה, כאשר אתה מחליף לגרסה 20.0.0, עליך להתקין מחדש את החבילה הגלובלית בגרסה החדשה.

באופן חשוב, תוכל להציג את הנתיב לתכנית הניתנת לביצוע בה הותקנה גרסת Node מסוימת כדלקמן:

# 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

בנוסף, כדי להגדיר באופן ידני גרסת Node ברירת מחדל לשימוש בכל תיק בשני חדש, השתמש בקיצור השם "default" כפי שמוצג.

# nvm alias default 20.0.0
# nvm alias default system
# nvm alias default 19.0.0
Note: You can create a .nvmrc initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.

הסרת גרסת 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: https://github.com/nvm-sh/nvm.

זהו! מנהל גרסות Node הוא סקריפט bash פשוט לניהול מרובה גרסאות node.js פעילות על המערכת שלך ב-Linux. השתמש בטופס משוב למטה כדי לשאול שאלות או לשתף את תגובותיך איתנו.

Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/