Trang chủ / Chuyên đề / Cài đặt Node.js trên Ubuntu 16.04
Thứ tư, 07/03/2018 | 00:00 GMT+7

Cài đặt Node.js trên Ubuntu 16.04

Node.js là một nền tảng JavaScript để lập trình mục đích chung cho phép user xây dựng các ứng dụng mạng một cách nhanh chóng. Bằng cách tận dụng JavaScript trên cả front-end và back-end, việc phát triển có thể nhất quán hơn và được thiết kế trong cùng một hệ thống. Hướng dẫn này sẽ trình bày cách bắt đầu với Node.js trên server Ubuntu 16.04.

Nếu bạn đang tìm cách thiết lập môi trường Node.js production (sản-xuất), hãy xem liên kết này: Cách Thiết lập Ứng dụng Node.js cho Production.

Yêu cầu

Hướng dẫn này giả định bạn đang sử dụng Ubuntu 16.04. Trước khi bắt đầu, bạn phải có một account user không phải root với các quyền sudo được thiết lập trên hệ thống của bạn. Bạn có thể xem cách thực hiện việc này bằng cách hoàn thành các bước 1-4 trong thiết lập server ban đầu cho Ubuntu 16.04 .

Cách cài đặt version Distro-Stable cho Ubuntu

Ubuntu 16.04 chứa version Node.js trong repository mặc định của nó được dùng để dễ dàng cung cấp trải nghiệm nhất quán trên nhiều hệ thống. Tại thời điểm viết bài, version trong kho là v4.2.6. Đây sẽ không phải là version mới nhất, nhưng nó sẽ khá ổn định và đủ để thử nghiệm nhanh với ngôn ngữ này.

Để có được version này, ta chỉ cần sử dụng trình quản lý gói apt . Trước tiên, ta nên cập nhật OS local của bạn, sau đó cài đặt từ các repository:

  • sudo apt-get update
  • sudo apt-get install nodejs

Nếu gói trong repositories phù hợp với nhu cầu của bạn, đây là tất cả những gì bạn cần làm để thiết lập Node.js. Trong hầu hết các trường hợp, bạn cũng cần cài đặt npm , là trình quản lý gói Node.js. Bạn có thể thực hiện việc này bằng lệnh:

  • sudo apt-get install npm

Điều này sẽ cho phép bạn dễ dàng cài đặt các module và gói để sử dụng với Node.js.

Do xung đột với một gói khác, file thực thi từ repository Ubuntu được gọi là nodejs thay vì node . Hãy nhớ điều này khi bạn chạy phần mềm.

Để kiểm tra version Node.js bạn đã cài đặt sau các bước đầu tiên này, hãy nhập:

  • nodejs -v

Khi đã cài đặt một version Node.js, bạn có thể quyết định có muốn làm việc với các version, repository hoặc trình quản lý version khác nhau hay không. Tiếp theo, ta sẽ thảo luận về các yếu tố này cùng với các phương pháp cài đặt linh hoạt và mạnh mẽ hơn.

Cách cài đặt bằng PPA

Một giải pháp thay thế có thể giúp bạn có version Node.js mới hơn là thêm PPA (repository cá nhân) do NodeSource duy trì. Điều này sẽ có nhiều version cập nhật của Node.js hơn so với repository chính thức của Ubuntu và cho phép bạn chọn giữa Node.js v4.x (version hỗ trợ dài hạn cũ hơn, sẽ được hỗ trợ cho đến tháng 4 năm 2018) , Node.js v6.x (được hỗ trợ đến tháng 4 năm 2019) và Node.js v8.x (version LTS hiện tại, được hỗ trợ đến tháng 12 năm 2019).

Trước tiên, bạn cần cài đặt PPA để có thể truy cập vào nội dung của nó. Đảm bảo bạn đang ở trong folder chính và sử dụng curl để truy xuất lệnh cài đặt cho version bạn muốn, đảm bảo thay thế 8.x bằng chuỗi version bạn muốn (nếu khác):

  • cd ~
  • curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh

Bạn có thể kiểm tra nội dung của tập lệnh này bằng nano (hoặc editor bạn quen dùng):

  • nano nodesource_setup.sh

Và chạy script dưới sudo :

  • sudo bash nodesource_setup.sh

PPA sẽ được thêm vào cấu hình của bạn và cache gói local của bạn sẽ được cập nhật tự động. Sau khi chạy tập lệnh thiết lập từ nodesource, bạn có thể cài đặt gói Node.js giống như cách bạn đã làm ở trên:

  • sudo apt-get install nodejs

Để kiểm tra version Node.js bạn đã cài đặt sau các bước đầu tiên này, hãy nhập:

  • nodejs -v
Output
v8.10.0

Gói nodejs chứa binary (nhị-phân) nodejs cũng như npm , vì vậy bạn không cần phải cài đặt npm riêng lẻ.

npm sử dụng file cấu hình trong folder chính của bạn để theo dõi các bản cập nhật. Nó sẽ được tạo lần đầu tiên bạn chạy npm . Thực thi lệnh này để xác minh npm được cài đặt và để tạo file cấu hình:

  • npm -v
Output
5.6.0

Để một số gói npm hoạt động (ví dụ: những gói yêu cầu biên dịch mã từ nguồn), bạn cần cài đặt gói build-essential :

  • sudo apt-get install build-essential

Đến đây bạn có các công cụ cần thiết để làm việc với các gói npm yêu cầu biên dịch mã từ nguồn.

Cách cài đặt bằng NVM

Một giải pháp thay thế để cài đặt Node.js thông qua apt là sử dụng một công cụ được thiết kế đặc biệt gọi là nvm , viết tắt của “Trình quản lý version Node.js”. Thay vì hoạt động ở cấp hệ điều hành, nvm hoạt động ở cấp một folder độc lập trong folder chính của bạn. Điều này nghĩa là bạn có thể cài đặt nhiều version độc lập của Node.js mà không ảnh hưởng đến toàn bộ hệ thống.

Kiểm soát môi trường của bạn với nvm cho phép bạn truy cập các version mới nhất của Node.js và giữ lại và quản lý các bản phát hành trước đó. Tuy nhiên, nó là một tiện ích khác với apt-get và các version Node.js mà bạn quản lý thông qua nó khác với version  distro ổn định của Node.js có sẵn từ repository Ubuntu.

Để bắt đầu, ta cần lấy các gói phần mềm từ repository Ubuntu để cho phép ta xây dựng các gói nguồn. Tập lệnh nvm sẽ tận dụng các công cụ này để xây dựng các thành phần cần thiết:

  • sudo apt-get update
  • sudo apt-get install build-essential libssl-dev

Sau khi các gói yêu cầu được cài đặt, bạn có thể kéo xuống lệnh cài đặt nvm từ trang GitHub của dự án . Số version có thể khác nhau, nhưng nói chung, bạn có thể tải xuống với curl :

  • curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh -o install_nvm.sh

Và kiểm tra lệnh cài đặt bằng nano :

  • nano install_nvm.sh

Chạy tập lệnh với bash :

  • bash install_nvm.sh

Nó sẽ cài đặt phần mềm vào một folder con của folder chính của bạn tại ~/.nvm . Nó cũng sẽ thêm các dòng cần thiết vào file ~/.profile của bạn để sử dụng file.

Để có quyền truy cập vào chức năng nvm, bạn cần đăng xuất và đăng nhập lại hoặc bạn có thể nguồn file ~/.profile để phiên hiện tại của bạn biết về các thay đổi:

  • source ~/.profile

Đến đây bạn đã cài đặt nvm, bạn có thể cài đặt các version Node.js riêng biệt.

Để tìm các version Node.js có sẵn để cài đặt, có thể chạy lệnh:

  • nvm ls-remote
Output
...
         v8.5.0
         v8.6.0
         v8.7.0
         v8.8.0
         v8.8.1
         v8.9.0   
         v8.9.1   
         v8.9.2   
         v8.9.3   
->      v8.9.4   (Latest LTS: Carbon)        

Như bạn thấy, version LTS mới nhất tại thời điểm viết bài này là v8.9.4. Bạn có thể cài đặt bằng lệnh:

  • nvm install 8.9.4

Thông thường, nvm sẽ chuyển sang sử dụng version được cài đặt mới nhất. Bạn có thể yêu cầu nvm sử dụng version vừa tải xuống một cách rõ ràng bằng lệnh:

  • nvm use 8.9.4

Khi bạn cài đặt Node.js bằng nvm, file thực thi được gọi là node . Bạn có thể xem version hiện đang được shell sử dụng bằng lệnh:

  • node -v
Output
v8.9.4

Nếu bạn có nhiều version Node.js, bạn có thể xem những gì đã được cài đặt bằng lệnh:

  • nvm ls

Nếu bạn muốn đặt mặc định một trong các version, có thể chạy lệnh:

  • nvm alias default 8.9.4

Version này sẽ được tự động chọn khi một phiên mới xuất hiện. Bạn cũng có thể tham chiếu nó bằng alias (bí-danh) như sau:

  • nvm use default

Mỗi version của Node.js sẽ theo dõi các gói của riêng nó và có sẵn npm để quản lý các gói này.

Bạn có thể có npm cài đặt các gói cho dự án của Node.js ./node_modules folder bằng cách sử dụng định dạng bình thường. Ví dụ, đối với module express :

  • npm install express

Nếu bạn muốn cài đặt nó trên phạm vi global (cung cấp nó cho các dự án khác sử dụng cùng một version Node.js), bạn có thể thêm cờ -g :

  • npm install -g express

Điều này sẽ cài đặt gói trong:

~/.nvm/node_version/lib/node_modules/package_name

Cài đặt trên phạm vi global sẽ cho phép bạn chạy các lệnh từ dòng lệnh, nhưng bạn sẽ phải liên kết gói với phạm vi local của bạn để yêu cầu nó từ bên trong một chương trình:

  • npm link express

Bạn có thể tìm hiểu thêm về các tùy chọn có sẵn cho bạn với nvm bằng lệnh:

  • nvm help

Xóa Node.js

Bạn có thể gỡ cài đặt Node.js bằng apt-get hoặc nvm, tùy thuộc vào version bạn muốn nhắm đến. Để loại bỏ version ổn định, bạn cần làm việc với tiện ích apt-get ở phạm vi hệ thống.

Để xóa version ổn định của bản phân phối, hãy nhập như sau:

  • sudo apt-get remove nodejs

Lệnh này sẽ xóa gói và giữ lại các file cấu hình. Chúng có thể hữu ích cho bạn nếu bạn định cài đặt lại gói sau này. Tuy nhiên, nếu bạn không muốn lưu các file cấu hình để sử dụng sau này, hãy chạy như sau:

  • sudo apt-get purge nodejs

Thao tác này sẽ gỡ gói cài đặt và xóa các file cấu hình được liên kết với nó.
Bước cuối cùng, bạn có thể xóa mọi gói không sử dụng đã được cài đặt tự động với gói đã xóa:

  • sudo apt-get autoremove

Để gỡ cài đặt version Node.js mà bạn đã bật bằng nvm, trước tiên hãy xác định xem version bạn muốn xóa có phải là version đang hoạt động hiện tại hay không:

  • nvm current

Nếu version bạn đang nhắm đến không phải là version đang hoạt động hiện tại, bạn có thể chạy:

  • nvm uninstall node_version

Lệnh này sẽ gỡ cài đặt version đã chọn của Node.js. 

Nếu version bạn muốn xóa version đang hoạt động hiện tại, trước tiên bạn phải hủy kích hoạt nvm:

  • nvm deactivate

Như vậy, bạn có thể gỡ cài đặt version hiện tại bằng lệnh trên, lệnh này sẽ xóa tất cả các file được liên kết với version Node.js được nhắm đến ngoại trừ các file đã lưu trong bộ nhớ cache được dùng để cài đặt lại.

Kết luận

Như bạn thấy, có một số cách để thiết lập và chạy Node.js trên server Ubuntu 16.04. Tình huống cụ thể sẽ quyết định phương pháp nào ở trên là tốt nhất cho bạn. Mặc dù version đóng gói trong repository của Ubuntu là dễ nhất, nhưng phương pháp nvm chắc chắn linh hoạt hơn nhiều.


Tags: Ubuntu

Các tin trước

Cài đặt Anaconda Python trên Ubuntu 16 04 2017-12-27

Cài đặt MySQL trên CentOS 7 2016-12-01

Cài đặt MySQL trên Ubuntu 16.04 2016-11-23

Cài đặt Node.js Application for Production trên Ubuntu 16.04 2016-11-01

Cài đặt Nginx Server Blocks (Virtual Hosts) trên Ubuntu 16.04 2016-05-19

Cài đặt OpenVPN Server trên Ubuntu 16.04 2016-05-04

Cài đặt JAVA với Apt-Get trên Ubuntu 16.04 2016-04-23

Cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04 2016-04-21

Cài đặt đăng nhập với ssh và key authentication trên Ubuntu 16.4 2016-04-21

Sử dụng UFW căn bản, các luật firewall phổ biến 2015-08-20