Tìm kiếm trang web

NVM - Cài đặt và quản lý nhiều phiên bản Node.js trong Linux


Trình quản lý phiên bản nút (gọi tắt là NVM) là một tập lệnh bash đơn giản để quản lý nhiều phiên bản node.js đang hoạt động trên hệ thống Linux của bạn. Nó cho phép bạn cài đặt nhiều phiên bản node.js và xem tất cả các phiên bản có sẵn để cài đặt cũng như tất cả các phiên bản đã cài đặt trên hệ thống của bạn.

Nvm cũng hỗ trợ chạy một phiên bản node.js cụ thể và nó có thể hiển thị đường dẫn đến tệp thực thi đến nơi nó được cài đặt, v.v.

Trong bài viết này, chúng tôi sẽ giải thích cách cài đặt Trình quản lý phiên bản nút (NVM) để quản lý nhiều phiên bản node.js đang hoạt động trên bản phân phối Linux của bạn.

Cài đặt NVM (Trình quản lý phiên bản nút) trong Linux

Để cài đặt hoặc cập nhật nvm trên bản phân phối Linux của bạn, bạn có thể tải xuống tập lệnh cài đặt tự động bằng cách sử dụng các công cụ dòng lệnh Curl hoặc wget như minh họa.

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

Tập lệnh cài đặt tự động ở trên sẽ sao chép kho lưu trữ nvm thành ~/.nvm trong thư mục chính của bạn và thêm các lệnh nguồn cần thiết vào tập lệnh khởi động shell của bạn, tức là ~/ .bash_profile, ~/.zshrc, ~/.profile hoặc ~/.bashrc, tùy thuộc vào chương trình shell mà bạn đang sử dụng như thể hiện trong đầu ra sau đây.

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

Sau khi quá trình cài đặt hoàn tất, hãy đóng cửa sổ terminal hiện tại của bạn và mở một cửa sổ mới. Hoặc, chỉ cần lấy tệp cấu hình shell của bạn để tải nvm. Ví dụ: nếu bạn đang sử dụng bash, hãy chạy lệnh sau:

source ~/.bashrc
OR
source ~/.profile

Tiếp theo, hãy xác minh xem nvm đã được cài đặt trên hệ thống của bạn hay chưa bằng lệnh sau.

command -v nvm

nvm

Nó sẽ hiển thị đầu ra là ‘nvm’ nếu quá trình cài đặt thành công.

Cài đặt nhiều phiên bản Node.js bằng NVM

Bây giờ là lúc tìm hiểu cách sử dụng Trình quản lý phiên bản nút trong Linux. Để tải xuống, biên dịch và cài đặt bản phát hành mới nhất của node, hãy chạy lệnh sau:

nvm install node 

Lưu ý rằng trong lệnh trên, “node” là bí danh của phiên bản mới nhất.

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)

Để cài đặt một phiên bản “nút” cụ thể, trước tiên hãy liệt kê các phiên bản nút có sẵn rồi cài đặt phiên bản như được hiển thị.

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)

Sau khi bạn đã cài đặt phiên bản Node.js bằng nvm, hệ thống bây giờ sẽ trỏ đến Node.jsnpm phiên bản dưới nvm. Bạn có thể kiểm tra vị trí của lệnh/nhị phân nútnpm đang được sử dụng bằng cách chạy lệnh which như sau:

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

Liệt kê các phiên bản Node.js đã cài đặt

Bạn có thể kiểm tra tất cả các phiên bản đã cài đặt bằng lệnh sau:

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)

Chọn phiên bản nút cho dự án

Đây là lúc nvm trở nên thú vị. Bây giờ bạn có thể sử dụng nvm để chọn phiên bản node.js để sử dụng cho từng dự án mà bạn đang thực hiện, dựa trên yêu cầu. Hãy xem cách thực hiện việc này như được giải thích bên dưới.

Mở nhiều thiết bị đầu cuối và di chuyển vào thư mục dự án. Đối với hướng dẫn này, chúng tôi có hai dự án trong ~/projects/app-server~/projects/test-ui yêu cầu phiên bản nút 19.0.0 và 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

Ví dụ: nếu bạn đã cài đặt gói chung khi phiên bản 19.0.0 đang hoạt động thì khi chuyển sang phiên bản 20.0.0, bạn cần cài đặt lại gói chung theo phiên bản mới.

Điều quan trọng là bạn có thể xem đường dẫn đến tệp thực thi đến nơi cài đặt phiên bản nút cụ thể như sau:

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

Đặt phiên bản Node.js mặc định trong Linux

Hơn nữa, để đặt thủ công phiên bản nút mặc định sẽ được sử dụng trong bất kỳ shell mới nào, hãy sử dụng bí danh “default” như được hiển thị.

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

Gỡ cài đặt phiên bản Node.js trong Linux

Để gỡ cài đặt hoặc xóa phiên bản Node.js, hãy dùng lệnh sau (đừng quên thay thế 19.0.0 bằng số phiên bản):

nvm uninstall 19.0.0

Gỡ cài đặt NVM trong Linux

Để xóa nvm theo cách thủ công khỏi hệ thống của bạn, hãy chạy các lệnh sau:

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

Tiếp theo, chỉnh sửa ~/.bashrc (hoặc tệp cấu hình cấu hình shell hiện hành, như được liệt kê ở trên) và xóa các dòng cấu hình sau:

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

Để biết thêm thông tin, hãy xem nvm --help hoặc truy cập kho lưu trữ Github của Trình quản lý phiên bản nút: https://github.com/nvm-sh/nvm.

Đó là tất cả! Trình quản lý phiên bản nút là một tập lệnh bash đơn giản để quản lý nhiều phiên bản node.js đang hoạt động trên hệ thống Linux của bạn. Sử dụng mẫu phản hồi bên dưới để đặt câu hỏi hoặc chia sẻ nhận xét của bạn với chúng tôi.