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 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. Για λήψη, μεταγλώττιση και εγκατάσταση της πιο πρόσφατης έκδοσης του node, εκτελέστε την ακόλουθη εντολή:

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 ως εξής:

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

Επιπλέον, για να ορίσετε μη αυτόματα μια προεπιλεγμένη έκδοση κόμβου που θα χρησιμοποιείται σε οποιοδήποτε νέο κέλυφος, χρησιμοποιήστε το ψευδώνυμο "προεπιλογή" όπως φαίνεται.

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 είναι ένα απλό σενάριο bash για τη διαχείριση πολλαπλών ενεργών εκδόσεων node.js στο σύστημά σας Linux. Χρησιμοποιήστε την παρακάτω φόρμα σχολίων για να κάνετε ερωτήσεις ή να μοιραστείτε τα σχόλιά σας μαζί μας.