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