NVM - Linux'ta Birden Çok Node.js Sürümünü Kurun ve Yönetin


Node Sürüm Yöneticisi (kısaca NVM), Linux sisteminizdeki birden fazla etkin node.js sürümünü yönetmeye yönelik basit bir bash betiğidir. Birden çok node.js sürümünü yüklemenize ve kurulum için mevcut tüm sürümleri ve sisteminizde yüklü tüm sürümleri görüntülemenize olanak tanır.

Nvm ayrıca belirli bir node.js sürümünün çalıştırılmasını da destekler ve yürütülebilir dosyanın kurulduğu yere giden yolu ve çok daha fazlasını gösterebilir.

Bu makalede, Linux dağıtımınızda birden fazla etkin node.js sürümünü yönetmek için Node Sürüm Yöneticisi'ni (NVM) nasıl yükleyeceğinizi açıklayacağız.

Linux'ta NVM'yi (Düğüm Sürüm Yöneticisi) Yükleme

Linux dağıtımınıza nvm'yi yüklemek veya güncellemek için, gösterildiği gibi curl veya wget komut satırı araçlarını kullanarak otomatik yükleme komut dosyasını indirebilirsiniz.

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

Yukarıdaki otomatik yükleme komut dosyası, nvm deposunu ana dizininizdeki ~/.nvm dizinine kopyalar ve gerekli kaynak komutlarını kabuk başlangıç komut dosyalarınıza (ör. ~/) ekler. Kullandığınız kabuk programına bağlı olarak .bash_profile, ~/.zshrc, ~/.profile veya ~/.bashrc aşağıdaki çıktıda gösterildiği gibi kullanıyoruz.

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`:
...

Kurulum tamamlandıktan sonra mevcut terminal pencerenizi kapatın ve yeni bir tane açın Veya nvm'yi yüklemek için kabuk profil dosyanızı kaynaklayın. Örneğin bash kullanıyorsanız aşağıdaki komutu çalıştırın:

source ~/.bashrc
OR
source ~/.profile

Daha sonra aşağıdaki komutu kullanarak sisteminizde nvm'nin kurulu olup olmadığını doğrulayın.

command -v nvm

nvm

Kurulum başarılı olursa çıktıyı 'nvm' olarak gösterir.

NVM Kullanarak Birden Çok Node.js Sürümünü Yükleme

Artık Linux'ta Node Version Manager'ın nasıl kullanılacağını öğrenmenin zamanı geldi. Node'un en son sürümünü indirmek, derlemek ve yüklemek için aşağıdaki komutu çalıştırın:

nvm install node 

Yukarıdaki komutta “düğüm” ifadesinin en son sürümün takma adı olduğunu unutmayın.

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)

Belirli bir "düğüm" sürümünü yüklemek için önce mevcut düğüm sürümlerini listeleyin ve ardından sürümü gösterildiği gibi yükleyin.

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)

Nvm kullanarak Node.js sürümünü yükledikten sonra sistem artık Node.js ve npm'yi işaret etmelidir. nvm altındaki Strong> sürümleri. Kullanılan düğüm ve npm ikili dosyasının/komutunun konumunu, hangi komutunu aşağıdaki gibi çalıştırarak kontrol edebilirsiniz:

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

Yüklü Node.js Sürümlerini Listeleme

Kurulu tüm sürümleri aşağıdaki komutla kontrol edebilirsiniz:

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)

Bir Proje için Düğüm Sürümünü Seçin

nvm'nin ilginç hale geldiği yer burasıdır. Artık gereksinimlere göre üzerinde çalıştığınız her projede kullanılacak node.js sürümünü seçmek için nvm'yi kullanabilirsiniz. Bunu nasıl yapacağımızı aşağıda açıklandığı gibi görelim.

Birden fazla terminal açın ve proje dizinlerine gidin. Bu kılavuz için, ~/projects/app-server ve ~/projects/test-ui altında yanıltıcı bir şekilde 19.0.0 ve 20.0.0 düğüm sürümünü gerektiren iki projemiz var .

------------ 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

Örneğin 19.0.0 sürümü aktifken kurulu bir global paketiniz varsa, 20.0.0 sürümüne geçtiğinizde global paketi yeni sürüm altında yeniden yüklemeniz gerekir.

Daha da önemlisi, belirli bir düğüm sürümünün yüklendiği yürütülebilir dosyanın yolunu aşağıdaki şekilde görüntüleyebilirsiniz:

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

Linux'ta Varsayılan Node.js Sürümünü Ayarlama

Ayrıca, herhangi bir yeni kabukta kullanılacak varsayılan düğüm sürümünü manuel olarak ayarlamak için gösterildiği gibi "varsayılan" takma adını kullanın.

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

Linux'ta Node.js Sürümünü Kaldırma

Node.js sürümünü kaldırmak veya kaldırmak için aşağıdaki komutu verin (19.0.0'ı sürüm numarasıyla değiştirmeyi unutmayın):

nvm uninstall 19.0.0

Linux'ta NVM'yi Kaldırma

nvm'yi sisteminizden manuel olarak kaldırmak için aşağıdaki komutları çalıştırın:

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

Daha sonra, ~/.bashrc'yi (veya yukarıda listelendiği gibi ilgili kabuk profili yapılandırma dosyasını) düzenleyin ve aşağıdaki yapılandırma satırlarını kaldırın:

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

Daha fazla bilgi için nvm --help'e bakın veya Node Version Manager Github deposuna gidin: https://github.com/nvm-sh/nvm.

Bu kadar! Node Sürüm Yöneticisi, Linux sisteminizdeki birden çok etkin node.js sürümünü yönetmeye yönelik basit bir bash betiğidir. Soru sormak veya yorumlarınızı bizimle paylaşmak için aşağıdaki geri bildirim formunu kullanın.