Biểu tượng website Khó ăn cát bê tông

Giải quyết vấn đề permission của NodeJS

Bạn sử dụng hệ điều hành Linux để phát triển phần mềm ứng dụng trên môi trường NodeJS và rất bực mình khi thường xuyên bị báo lỗi với quyền liên quan NodeJS hoặc có những cảnh báo cảm thấy không lấy gì làm vui vẻ, tích cực cho lắm? Bài viết này chia sẻ phần nào cách KACBT đối mặt với vấn đề, có thể bạn tìm thấy sự hữu ích, áp dụng được.

Chưa cài NodeJS muốn cài từ đầu, không dùng root

Ghé vào trang https://nodejs.org/download/release để tải phiên bản Node.js bạn muốn dùng để tải về dưới dạng file .tar.gz

Thực hiện các lệnh sau:

Các lệnh cài đặt Node.js với user thường

Sau cùng, hãy kiểm tra thành quả của bạn xem đã ổn chưa với lệnh node –version

Bạn tự do thay đổi node-v18.14.0-linux-x64.tar.gz bằng phiên bản Node.js của bạn, thư mục nodejs-apps bằng tên thư mục do bạn tự đặt nhé.

Đã có Node.js trên máy, muốn thay đổi thành user bình thường

Thực hiện lệnh npm config get prefix để xem có phải hiện ra /usr hay không? Nếu đúng, thực hiện tiếp các lệnh sau:

Cài Node.js global cho user thường

Cách này có hai điều cần lưu ý:

Nếu trước đây bạn đã phải dùng root để cài đặt các modules và có app nào đó đã chạy thì rồi sẽ báo bạn không có quyền. Cách xử lý: sudo chown -R whoami ~/.npm && sudo chown -R whoami /usr/local/lib/node_modules

Để có thể lần khởi động máy sau, các thiết lập trên vẫn còn tác dụng, bạn phải có lệnh: echo -e “export NPM_CONFIG_PREFIX=~/.npm-global\nexport PATH=\$PATH:~/.npm-global/bin” >> ~/.bashrc

Sử dụng NVM (Node Version Manager) khi bạn muốn khác bên trên

Cách này tất nhiên lúc ban đầu cần mất chút thời gian để làm quen, sử dụng. Nhưng lợi ích lâu dài của nó là xứng đáng với những gì bỏ ra.

Vào trang https://github.com/nvm-sh/nvm xem phần Installing and Updating và làm theo, hết sức dễ dàng, bạn có thể xem chỉ với vài câu lệnh:

Sử dụng NVM để quản lý các phiên bản Node.js

Đây là cách đáp ứng tốt nhất các yêu cầu phức tạp về Node.js khi cần sử dụng nhiều phiên bản khác nhau, các gói cài đặt khác nhau của ứng dụng cần phiên bản khác nhau tránh “giẫm đạp” lên nhau thành một mớ hỗn độn mất kiểm soát.

Đăng tại Chưa phân loại