🚀 npm install vs npm ci – Nên dùng cái nào?

Nếu bạn từng làm việc với dự án Node.js, chắc hẳn đã gõ npm install hàng ngàn lần rồi. Nhưng bạn đã thử npm ci chưa? 👀

Thoạt nhìn thì giống nhau, nhưng thực ra mục đích khác nhau hẳn:


🔹 npm install (npm i)

  • Cài đặt dependencies từ package.json.
  • Cập nhật package-lock.json nếu cần.
  • Linh hoạt → phù hợp cho môi trường phát triển local.
  • Có thể làm thay đổi nhẹ cấu trúc dependency tree.

🔹 npm ci

  • Viết tắt của clean install.
  • Chỉ dùng package-lock.json (không được phép cập nhật).
  • Xóa toàn bộ node_modules trước → đảm bảo môi trường sạch.
  • Nhanh hơn & deterministic → hoàn hảo cho CI/CD pipeline, Docker, production build.

Ví dụ dễ hiểu:

  • npm install → Đi siêu thị mua theo công thức nấu ăn, nhưng mua cái gì có sẵn (có thể hơi khác).
  • npm ci → Dùng lại đúng y chang danh sách mua hàng lần trước, cùng thương hiệu, không thay đổi.

Quy tắc ngắn gọn:

  • Môi trường dev → npm install
  • CI/CD hoặc production → npm ci

Categorized in: