Cách sử dụng npm trên Ubuntu: Hướng dẫn cài đặt, các lệnh cơ bản và khắc phục sự cố

目次

1. Giới thiệu

Tại sao Sử dụng npm trên Ubuntu

Một trong những công cụ thiết yếu cho cả phát triển frontend và backend là npm (Node Package Manager). npm được sử dụng rộng rãi như công cụ quản lý gói cho Node.js, cho phép các nhà phát triển dễ dàng cài đặt và quản lý các thư viện và công cụ JavaScript.

Bằng cách sử dụng npm trên Ubuntu, bạn có thể tận dụng hiệu suất nhẹ của Linux và quản lý gói linh hoạt trong khi cải thiện đáng kể hiệu quả phát triển. Ubuntu là một bản phân phối được hỗ trợ bởi cộng đồng nhà phát triển lớn và được sử dụng rộng rãi cho mọi thứ từ hoạt động máy chủ đến môi trường phát triển cục bộ.

Đặc biệt, khi làm việc với các framework dựa trên Node.js như Vue.js, React và Next.js, quản lý gói với npm là cách tiếp cận tiêu chuẩn. Thiết lập các công cụ này trên Ubuntu cho phép bạn xây dựng một môi trường phát triển ổn định với ít vấn đề hơn so với Windows hoặc macOS.

Mục đích của Bài viết Này

Bài viết này cung cấp hướng dẫn từng bước để cài đặt npm trên Ubuntu và làm chủ cách sử dụng cơ bản của nó. Nó đặc biệt dành cho các đối tượng sau:

  • Những nhà phát triển mới với Ubuntu
  • Những người gặp khó khăn với thiết lập Node.js hoặc npm
  • Bất kỳ ai muốn học npm một cách có cấu trúc

Nhiều phương pháp cài đặt được giới thiệu, cùng với các tính năng, ưu điểm và nhược điểm của chúng. Ngoài ra, hướng dẫn này bao gồm các lỗi phổ biến, mẹo khắc phục sự cố và các lệnh hữu ích để giúp người đọc sử dụng npm mượt mà trên Ubuntu.

2. Cài đặt Node.js và npm trên Ubuntu

Để sử dụng npm trên Ubuntu, bạn phải cài đặt Node.js trước. Vì npm được đóng gói cùng với Node.js, việc cài đặt Node.js sẽ tự động làm cho npm có sẵn.

Dưới đây là ba phương pháp chính để cài đặt Node.js và npm trên Ubuntu. Mỗi phương pháp có đặc điểm riêng, vì vậy quan trọng là chọn phương pháp phù hợp nhất với phong cách và mục đích phát triển của bạn.

Phương pháp 1: Sử dụng Kho lưu trữ Chính thức của Ubuntu

Các bước

Node.js có sẵn trong các kho lưu trữ tiêu chuẩn của Ubuntu. Đây là cách tiếp cận đơn giản nhất và thân thiện với người mới bắt đầu.

sudo apt update
sudo apt install nodejs npm

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

node -v
npm -v

Ưu điểm

  • Các lệnh đơn giản dễ hiểu
  • Các phiên bản ổn định được cung cấp bởi Ubuntu

Nhược điểm

  • Các phiên bản Node.js và npm thường lỗi thời, vì vậy các tính năng mới nhất có thể không có sẵn

Phương pháp 2: Sử dụng NodeSource PPA

Bằng cách sử dụng kho lưu trữ NodeSource, theo sát hỗ trợ Node.js chính thức, bạn có thể cài đặt các phiên bản mới hơn của Node.js và npm.

Các bước (Ví dụ: Cài đặt Node.js 18.x)

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

npm được cài đặt tự động cùng với Node.js.

Ưu điểm

  • Truy cập vào các phiên bản tương đối mới và ổn định
  • Cài đặt dễ dàng với tính tương thích tốt với Ubuntu

Nhược điểm

  • Giống như các PPA khác, có thể cần quản lý phụ thuộc

Phương pháp 3: Sử dụng nvm (Node Version Manager)

Nếu bạn muốn chuyển đổi giữa nhiều phiên bản Node.js, sử dụng nvm là lựa chọn linh hoạt và mạnh mẽ nhất.

Các bước

Đầu tiên, cài đặt nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Sau đó, tải lại shell của bạn và cài đặt Node.js bằng nvm:

source ~/.bashrc  # or ~/.zshrc
nvm install 18
nvm use 18

npm được cài đặt tự động cùng với Node.js.

Ưu điểm

  • Chuyển đổi tự do giữa các phiên bản Node.js
  • Đặt phiên bản phù hợp cho từng dự án
  • An toàn, vì nó không ảnh hưởng đến hệ thống toàn cục

Nhược điểm

  • Thiết lập hơi phức tạp hơn so với các phương pháp khác
  • Yêu cầu chỉnh sửa các tệp cấu hình shell

Bạn Nên Chọn Phương Pháp Nào?

MethodDifficultyVersion FreshnessFlexibilityRecommended For
Official Repository★☆☆△ (Older)×Beginners, first-time users
NodeSource★★☆○ (Relatively new)General developers
nvm★★★◎ (Freely selectable)Advanced users, multi-project workflows

Nói chung, nvm là lựa chọn được khuyến nghị nhất cho phát triển npm dài hạn trên Ubuntu. Tuy nhiên, nếu bạn muốn thiết lập nhanh chóng và đơn giản, sử dụng NodeSource PPA cũng là một lựa chọn vững chắc.

3. Sử dụng cơ bản npm

Sau khi Node.js và npm được cài đặt trên Ubuntu, bạn có thể bắt đầu quản lý các gói với npm. npm là một công cụ mạnh mẽ để cài đặt, cập nhật và xóa các gói JavaScript.

Phần này giới thiệu các lệnh npm thường dùng và các thao tác cơ bản.

Cài đặt Gói

Cài đặt cục bộ

Các gói chỉ sử dụng trong một dự án cụ thể nên được cài đặt cục bộ. Đây là cách tiếp cận tiêu chuẩn. Các gói được cài đặt trong thư mục node_modules và ghi nhận trong package.json.

npm install package-name

Ví dụ: Cài đặt axios

npm install axios

Chỉ các script trong cùng dự án mới có thể sử dụng các gói được cài đặt cục bộ.

Cài đặt toàn cục

Các công cụ sử dụng trên toàn hệ thống, chẳng hạn như tiện ích CLI, nên được cài đặt toàn cục.

npm install -g package-name

Ví dụ: Cài đặt http-server toàn cục

sudo npm install -g http-server

Trên Ubuntu, sử dụng -g có thể yêu cầu sudo.

Gỡ bỏ Gói

Xóa Gói Cục bộ

npm uninstall package-name

Xóa Gói Toàn cục

sudo npm uninstall -g package-name

Cập nhật Gói

Cập nhật Một Gói Cụ thể

npm update package-name

Cập nhật Tất cả Các Phụ thuộc

npm update

Các cập nhật được áp dụng trong phạm vi phiên bản được chỉ định trong package.json, vì vậy hãy chú ý đến các ràng buộc phiên bản.

Cài đặt Phụ thuộc Phát triển (–save-dev)

Các gói chỉ dành cho phát triển như công cụ kiểm thử hoặc xây dựng nên được cài đặt sử dụng tùy chọn --save-dev.

npm install --save-dev package-name

Ví dụ: Cài đặt jest như một phụ thuộc phát triển

npm install --save-dev jest

Điều này ghi nhận gói dưới devDependencies trong package.json.

Liệt kê Các Gói Đã Cài đặt

Liệt kê Gói Cục bộ

npm list

Liệt kê Gói Toàn cục

npm list -g --depth=0

Sử dụng --depth=0 chỉ hiển thị các gói cấp cao, làm cho đầu ra dễ đọc hơn.

Quản lý Phụ thuộc với package.json

Tệp package.json là thành phần cốt lõi của các dự án dựa trên npm. Nó ghi nhận tên gói, phiên bản, script và cấu hình dự án tổng thể.

Bạn có thể tạo nó bằng cách sử dụng:

npm init

Để thiết lập đơn giản với giá trị mặc định:

npm init -y

4. Các Vấn đề Thường gặp và Giải pháp

Khi sử dụng npm trên Ubuntu, bạn có thể gặp lỗi hoặc hành vi không mong muốn. Phần này giới thiệu các vấn đề thường gặp và cách giải quyết chúng.

Lỗi Quyền

Triệu chứng

EACCES: permission denied

Nguyên nhân

Điều này xảy ra khi người dùng hiện tại không có quyền ghi cho thư mục mà npm đang cố gắng cài đặt gói. Trên Ubuntu, ghi vào các thư mục hệ thống như /usr/lib/node_modules yêu cầu sudo.

Giải pháp

  • Chạy với sudo :
    sudo npm install -g package-name
    
  • Hoặc thay đổi thư mục cài đặt toàn cục thành đường dẫn thuộc sở hữu của người dùng:
    mkdir ~/.npm-global
    npm config set prefix '~/.npm-global'
    

Thêm những điều sau vào ~/.bashrc hoặc ~/.profile:

export PATH="$HOME/.npm-global/bin:$PATH"

Áp dụng các thay đổi:

source ~/.bashrc

Lệnh npm Không Tìm Thấy

Triệu chứng

command not found: npm

Nguyên nhân

  • Cài đặt Node.js hoặc npm thất bại
  • Biến môi trường PATH chưa được cấu hình

Giải pháp

Kiểm tra đường dẫn:

which npm

Nếu không có gì được trả về, hãy cài đặt lại hoặc kiểm tra cài đặt PATH. Nếu sử dụng nvm, đảm bảo mã khởi tạo tồn tại trong tệp cấu hình shell của bạn:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Thất bại Cài đặt Gói hoặc Xung đột Phiên bản

Triệu chứng

  • Xung đột phiên bản khi cài đặt gói
  • Nhiều cảnh báo trong quá trình npm install

Giải pháp

npm install package-name@latest
npm ls package-name
npm install --legacy-peer-deps
rm -rf node_modules package-lock.json
npm install

Các lệnh gỡ lỗi hữu ích

  • npm doctor
    npm doctor
    
  • npm audit
    npm audit
    npm audit fix
    

5. Câu hỏi thường gặp (FAQ)

Q1. Làm thế nào để cập nhật npm lên phiên bản mới nhất trên Ubuntu?

A1.

sudo npm install -g npm@latest

Nếu bạn đang sử dụng nvm, không cần sudo.

Q2. Sự khác biệt giữa cài đặt toàn cục và cục bộ là gì?

A2.

  • Cài đặt cục bộ : Các phụ thuộc cụ thể cho dự án được lưu trữ trong node_modules
  • Cài đặt toàn cục : Các công cụ CLI hệ thống, thường yêu cầu sudo

Q3. Lợi ích của việc sử dụng nvm là gì?

A3.

nvm cho phép bạn chuyển đổi giữa nhiều phiên bản Node.js một cách an toàn và hiệu quả, làm cho nó lý tưởng cho phát triển đa dự án.

Q4. Tôi nên làm gì nếu các phụ thuộc npm bị hỏng?

A4.

rm -rf node_modules package-lock.json
npm install

Q5. Các thông báo npm WARN và audit có phải là vấn đề không?

A5.

Các cảnh báo không gây chết người nhưng chỉ ra các vấn đề tiềm ẩn. Đối với các cảnh báo liên quan đến bảo mật, bạn có thể thử:

npm audit fix

Q6. Tôi có thể xây dựng gì với npm trên Ubuntu?

A6.

  • Các framework frontend (React, Vue, Svelte)
  • Các trình tạo trang web tĩnh (Next.js, Nuxt)
  • Các ứng dụng backend (Express, NestJS)
  • Các công cụ CLI
  • Môi trường kiểm thử

6. Kết luận: Làm chủ npm trên Ubuntu

Bài viết này đã bao quát các yếu tố thiết yếu về việc cài đặt và sử dụng npm trên Ubuntu, từ thiết lập đến khắc phục sự cố.

Bước quan trọng nhất là thực hành thực tế. Bằng cách chạy các lệnh và hiểu các thông báo lỗi, bạn sẽ dần dần nâng cao kỹ năng của mình như một nhà phát triển.

Hướng dẫn hoàn chỉnh về việc sử dụng npm trên Ubuntu kết thúc tại đây. Chúng tôi hy vọng nó giúp bạn xây dựng một môi trường phát triển hiệu quả và mạnh mẽ hơn.

年収訴求