Nội dung

NVM quản lý phiên bản Node version

Vấn đề -

Khi bạn làm nhiều project react thì có một vấn đề chắc hẳn là bạn sẽ phải gặp đó là việc bạn phải làm việc với nhiều phiên bản Nodejs khác nhau trong từng dự án khác nhau. Điều này là vô cùng phổ biến và khi đó thì việc chuyển qua lại giữa các project thì đòi hỏi Nodejs cũng phải được chuyển lại đúng phiên bản của project đang sử dụng. Vấn đề ở đây là khi đó thì bạn phải gỡ phiên bản Nodejs hiện tại ra và cài lại phiên bản Nodejs cần cho phát triển dự án. Việc này sẽ dẫn đến phiền phức vì bạn cứ phải cài rùi gỡ rùi cài Nodejs. Câu hỏi đặt ra là:

Có cách nào khỏi phải làm việc cài, gỡ này không? Thật là may mắn vì chúng ta có phần mềm nvm (Node Version Management) chuyên quản lý phiên bản Node đã ra đời và giúp ta quản lý các phiên bản Nodejs. Khi nào muốn dùng bản node nào thì chỉ cần dùng lệnh nvm use <node_version>

Cách dùng

Cài đặt

Để cài đặt nvm thì bạn vào trang chủ của nó trên github là https://github.com/nvm-sh/nvm

Sau đó thì tùy vào hệ điều hành mà bạn có thể dùng curl hoặc wget để tải script cài đặt nvm về

1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
1
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

Cách sử dụng

Vì nvm là phần mềm quản lý phiên bản Nodejs do đó thì chúng ta có thể hiểu là nvm cần phải có lệnh nào đó để cài đặt và lệnh nào đó để liệt kê phiên bản Node đang có trên server và dưới local, cũng như lệnh chuyển đổi qua lại giữa các phiên bản Node. Và còn nhiều lệnh nữa.

Trong bài tìm hiểu hôm nay thì mình chỉ dùng vài lệnh cơ bản đủ xài thôi và nó dựa vào nhu cầu của mình.

  • Ban đầu tiên là mình muốn biết nodejs hiện tại thì version nào là mới nhất trên server thì mình dùng lệnh nvm ls-remote

    /nvm-quan-ly-phien-ban-node-version/nvm-ls-remote.png
    nvm ls-remote

  • Tiếp đến mình muốn biết trong máy local của mình có phiên bản Node nào thì mình dùng lệnh nvm ls

    /nvm-quan-ly-phien-ban-node-version/nvm-ls.png
    Dòng có mũi tên và chữ màu xanh là phiên bản nodejs mà đang được sử dụng
    j

  • Sau đó thì khi mình muốn xài phiên bản Nodejs nào thì mình sẽ tiến hành tải và cài đặt nó với lệnh nvm install <node_version> ví dụ như nvm install 16.10.0 sau khi gõ lệnh này thì nvm sẽ tự động tìm trong máy local nếu như mà chưa có phiên bản Nodejs này thì nó sẽ tự động tìm và tải về rồi chuyển node sang phiên bản mình mới tải liền.

    /nvm-quan-ly-phien-ban-node-version/nvm-install.png
    Lệnh cài đặt phiên bản Nodejs

  • Nếu mình không muốn phiên bản đó thì mình sẽ lại cài đặt phiên bản khác hoặc nếu như mình biết phiên bản đó mình đã cài đặt trước đó rùi thì mình chỉ cần chuyển Nodej sang phiên bản đã cài với lệnh nvm use <node_version ví dụ nvm use 14.17.6

    /nvm-quan-ly-phien-ban-node-version/nvm-use.png
    Chuyển phiên bản Nodejs

Ngoài ra còn chiêu cuối là nếu như lệnh nvm use <node_version nó làm bạn khó chịu và khó nhớ khi chuyển qua lại các version thì mình sẽ cho nó vào alias của terminal. Cụ thể nếu bạn xài bash thì cho nó vào file ~/.bash_aliases với dòng lệnh như sau

1
2
alias node16="nvm use 16.10.0"
alias node14="nvm use 14.17.6" 

Vậy là từ giờ trở đi, thay vì phải gõ cái lệnh nvm use dài ngoằng và khó nhớ phiên bản node thì bạn chỉ việc gõ node16 để chuyển sang xài Node 16 hoặc trở lại Node 14 thì gõ node14. Done

Tổng kết lại

Bài này chỉ là tóm tắt lại cách sử dụng nvm để quản lý phiên bản Nodejs cơ bản nhất. Có gì bạn đọc tìm hiểu thêm tại trang github của nó nhé https://github.com/nvm-sh/nvm