NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
04/09/2024
Lượt xem

Xử lý lỗi bash: node: command not found với 4 ví dụ chi tiết, dễ hiểu

04/09/2024
12 phút đọc
Lượt xem

Đánh giá

Khi làm việc với Node.js trên hệ thống Linux, chắc hẳn bạn đã từng gặp phải thông báo lỗi bash: node: command not found. Vậy nguyên nhân của lỗi này là gì và làm thế nào để khắc phục nhanh chóng? Hãy cùng Vietnix tìm hiểu chi tiết trong nội dung bài viết này.

Hiểu đúng về lỗi Bash: Node: command not found

Error Bash: Node: command not found được xem là một lỗi cản trở người dùng, có thể tạm dừng quá trình sử dụng trên hệ thống. Lỗi này thông thường đến từ việc npm (Node package manager) được cài đặt chưa đúng cách hoặc đường dẫn (PATH) không thể truy cập được trên hệ thống Linux.

Giải thích:

  • Npm (Node package manager): là trình quản lý gói cài đặt, đăng ký phần mềm Node, nơi các nhà phát triển có thể tìm, xây dựng và quản lý các gói mã

6 nguyên nhân gây ra lỗi npm: command not found

Lỗi Bash: Node: command not found xuất hiện khi hệ thống Linux không thể tìm thấy lệnh node – dòng lệnh dùng để chạy code JavaScript với Node.js. Dưới đây là 6 nguyên nhân phổ biến gây ra lỗi:

  1. Chưa cài đặt Node.js: Nếu máy tính của bạn chưa có Node.js, hiển nhiên bạn sẽ không thể sử dụng lệnh “node”.
  2. Chưa cài đặt NVM: Node.js Version Manager (NVM) là một công cụ hữu ích để quản lý nhiều phiên bản Node.js trên cùng một máy. Nếu chưa có NVM, lệnh “node” có thể không hoạt động đúng.
  3. Đường dẫn (PATH) không chính xác: Hệ thống có thể không tìm thấy lệnh “node” nếu biến môi trường PATH chưa được thiết lập để trỏ đến thư mục cài đặt Node.js.
  4. Quyền truy cập không đủ: Đôi khi, bạn có thể gặp lỗi do không có quyền thực thi đối với tập tin thực thi của Node.js. Thông thường, bạn sẽ cần đến quyền truy cập root từ lệnh sudo để thực thi lệnh cài đặt.
  5. Cấu hình Shell không đúng: Các tập tin cấu hình Shell như ~/.bashrc, ~/.bash_profile, hay ~/.zshrc có thể cần được cập nhật để bao gồm đường dẫn đến Node.js.
  6. Nhiều phiên bản Node.js: Nếu máy tính của bạn có nhiều phiên bản Node.js, hãy đảm bảo phiên bản bạn muốn sử dụng đang được kích hoạt.
Nguyên nhân gây ra lỗi npm command not found
Nguyên nhân gây ra lỗi npm command not found

Lưu ý: Trong một số trường hợp, bạn có thể cần khởi động lại terminal hoặc thậm chí khởi động lại máy tính sau khi thực hiện các thay đổi để hệ thống nhận diện được.

Bên cạnh đó, bạn cần hiểu rằng hầu hết mọi lỗi không tìm thấy lệnh trên Bash Shell đều xuất phát từ nguyên nhân chính là sai sót đường dẫn (PATH) hoặc biến môi trường PATH. Vì thế, để hiểu mọi kiểu Error Bash, bạn cần năm bắt chi tiết lỗi Bash: command not found.

Ngoài ra, bạn cần tham khảo trước các câu lệnh trong Linux trước khi tìm hiểu cách xử lý lỗi trên môi trường Bash.

Ví dụ 1: Cài đặt lại Node.js vào hệ thống

Lỗi bash: node: command not found thường xuất hiện khi Node.js chưa được cài đặt trên hệ thống của bạn hoặc đã được cài đặt những đường dẫn không chính xác. Để khắc phục lỗi, bạn cần cài đặt Node.js bằng cách sử dụng npm (trình quản lý gói) tương thích với hệ điều hành của bạn.

Ví dụ: bạn có thể sử dụng APT trên Ubuntu, YUM trên RedHat hoặc Pacman trên Arch Linux.

Dưới đây là các bước hướng dẫn cài đặt Node.js trên Ubuntu:

Lưu ý: Trước khi cài đặt, bạn cần đảm bảo rằng đã gỡ các gói phiên cài đặt của NodeJS trước đó trên hệ thống của bạn.

Bước 1: Bạn nhấn tổ hợp phím CTRL + ALT + T để mở terminal trên Ubuntu.

Bước 2: Bạn chạy lệnh sudo apt update để cập nhật kho lưu trữ.

Bước 3: Cài đặt Node.js bằng lệnh:

 sudo apt install -y nodejs
Cài đặt lại Node.js vào hệ thống
Cài đặt lại Node.js vào hệ thống

Bước 4: Sau khi cài đặt hoàn tất, chạy lệnh node để kiểm tra xem Node.js đã được cài đặt thành công hay chưa. Nếu thành công, bạn sẽ thấy dấu nhắc lệnh của Node.js.

node
Dấu nhắc lệnh của Node.js
Dấu nhắc lệnh của Node.js

Lưu ý: Để thoát khỏi dấu nhắc lệnh của Node.js, bạn nhấn CTRL + Z.

Ví dụ 2: Thiết lập lại ví trí đường dẫn của biến môi trường PATH

Một nguyên nhân phổ biến khác khiến bạn gặp lỗi node: command not found là do biến môi trường PATH của hệ thống chưa bao gồm đường dẫn đến lệnh node. Để khắc phục lỗi và đảm bảo Bash có thể xác định vị trí node, bạn hãy làm theo các bước sau:

Bước 1: Đầu tiên, bạn nhấn tổ hợp phím CTRL + ALT + T để mở terminal.

Bước 2: Bạn kiểm tra đường dẫn hiện tại của node bằng lệnh which:

which node

Bước 3: Bạn sử dụng trình soạn thảo nano để mở file .bashrc băng dòng lệnh nano:

nano ~/.bashrc

Bước 4: Bạn thêm đường dẫn đến node vào PATH:

  • Bạn hãy sao chép đoạn code sau: `export PATH=$PATH:<path to node>`
  • Thay thế <path to node> bằng đường dẫn bạn đã tìm được ở Bước 2. Ví dụ: export PATH=$PATH:/usr/bin/node
  • Sau đó, bạn dán đoạn code đã chỉnh sửa vào cuối file .bashrc.
Thiết lập lại ví trí đường dẫn của biến môi trường PATH
Thiết lập lại ví trí đường dẫn của biến môi trường PATH

Bước 5: Bạn nhấn CTRL + S để lưu, sau đó nhấn CTRL + X để đóng file .bashrc.

Bước 6: Bạn tiến hành cập nhật file .bashrc để áp dụng những thay đổi bằng lệnh source:

source ~/.bashrc

Bước 7: Để kiểm tra xem lỗi đã được khắc phục hay chưa, bạn hãy chạy lệnh sau:

node --version

Nếu thành công, bạn sẽ thấy phiên bản Node.js được hiển thị.

Phiên bản Node.js được hiển thị
Phiên bản Node.js được hiển thị

Sau khi thêm đường dẫn vào biến môi trường PATH, lệnh node sẽ hoạt động mà không gặp lỗi.

Ví dụ 3: Alias – tạo biệt danh mới cho lệnh node

Khi gặp lỗi node: command not found trong Bash, một giải pháp nhanh chóng là tạo một biệt danh (alias) cho lệnh node. Biệt danh này sẽ giúp Bash nhận diện và thực thi lệnh node một cách chính xác. Dưới đây là cách thực hiện:

Bạn mở terminal và chạy lệnh echo với cú pháp như sau sau:

echo "alias node='$(which node)'" >> ~/.bashrc; . ~/.bashrc

Lệnh này sẽ thêm một alias cho lệnh “node” vào file .bashrc và áp dụng ngay lập tức trong phiên terminal hiện tại. Alias này đảm bảo rằng lệnh “node” trỏ đến đúng đường dẫn bằng cách sử dụng cú pháp $(which node) để lấy đường dẫn thực thi của node trong hệ thống.

Lưu ý: Đây là một giải pháp tạm thời và chỉ có hiệu lực trong phiên làm việc hiện tại. Để khắc phục lỗi hoàn toàn, bạn nên tham khảo áp dụng thêm những cách khác.

Ví dụ 4: Tạo liên kết tượng trưng đến các file và thư mục

Liên kết tượng trưng (symbolic link) cho phép bạn tạo các lối tắt linh hoạt đến các file hoặc thư mục khác. Không giống như việc sao chép dữ liệu, liên kết tượng trưng chỉ chứa đường dẫn đến vị trí thực tế của mục tiêu, giúp tiết kiệm không gian đĩa và đảm bảo mọi thay đổi đều được phản ánh tại mọi nơi liên kết đến.

Để tạo một liên kết tượng trưng cho lệnh node, hãy chạy lệnh sau:

sudo ln -s $(which node) /usr/local/bin/node

Lệnh này sẽ tạo một liên kết tượng trưng có tên node trong thư mục /usr/local/bin/. Liên kết này sẽ trỏ đến đường dẫn thực tế của lệnh node mà bạn đã tìm kiếm bằng lệnh which node.

Sau khi tạo liên kết tượng trưng, bạn có thể chạy lệnh node từ bất kỳ đâu trong hệ thống mà không gặp lỗi npm: command not found.

4 bước xử lý lỗi node: command not found trong MacOS?

Để khắc phục lỗi node: command not found trên MacOS, bạn có thể làm theo các bước sau:

Bước 1: Bạn mở Terminal và chạy lệnh sau để cài đặt Node.js phiên bản 8 (bạn có thể thay đổi phiên bản mong muốn):

brew install node@8

Bước 2: Sau khi cài đặt xong, bạn hãy chạy lệnh sau để tạo liên kết cho Node.js trong thư mục mặc định của hệ thống:

brew link node@8

Bước 3: Bạn chạy lệnh node –version để kiểm tra xem Node.js đã được cài đặt thành công hay chưa. Nếu bạn thấy phiên bản Node.js được hiển thị, nghĩa là bạn đã cài đặt thành công.

Bước 4: Nếu vẫn gặp lỗi, bạn hãy chạy lệnh sau:

brew link --overwrite --force node@8

Lệnh này sẽ ghi đè bất kỳ liên kết tượng trưng nào có liên quan đến Node.js và đảm bảo rằng phiên bản bạn đã chỉ định được liên kết và hoạt động trên hệ thống.

Câu hỏi thường gặp

Có thể sử dụng Node.js để phát triển các ứng dụng web trên hệ điều hành Linux không?

Có thể. Bạn nên kết hợp sử dụng Node.js và Linux với tính năng hữu ích như: hiệu suất cao, khả năng mở rộng, sự tương thích tốt.

Đâu là sự khác biệt giữa lệnh nodenpm trong hệ điều hành Linux?

Node.js là công cụ để chạy mã JavaScript, còn npm là công cụ để quản lý các thư viện mà mã JavaScript đó sử dụng.
Node.js không thể hoạt động một mình và phải cần đến các thư viện được cung cấp bởi npm để xây dựng các ứng dụng phức tạp.

Khi gặp lỗi bash: node: command not found thì tìm kiếm thông tin hỗ trợ ở đâu trên Internet?

Stack Overflow: Được x diễn đàn lớn nhất và uy tín nhất về lập trình.
Reddit: Các subreddit như r/nodejs, r/linux, r/programming cũng là nơi tập trung của nhiều lập trình viên.
Các diễn đàn chuyên biệt về Node.js: Có nhiều diễn đàn chuyên sâu về Node.js mà bạn có thể tham gia.

Lời kết

Bài viết đã hướng dẫn bạn cách khắc phục lỗi bash: node: command not found thông qua 4 ví dụ minh họa đơn giản và hiệu quả. Hy vọng với những giải pháp trên, bạn đã có thể giải quyết vấn đề và tiếp tục phát triển ứng dụng Node.js một cách thuận lợi. Nếu gặp khó khăn trong quá trình sửa lỗi, bạn hãy bình luận bên dưới để được hỗ trợ nhanh chóng.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG