Máy tính Semantic Version — So sánh, tăng & kiểm tra range

Mọi thứ về semantic version ở một chỗ: so sánh hai phiên bản, tính major/minor/patch/prerelease tiếp theo, và xem chính xác những phiên bản nào được phép bởi một range npm như ^1.2.0 hay ~2.3, được giải thích bằng ngôn ngữ đơn giản.

Cập nhật

So sánh

Tăng phiên bản

Kiểm tra range

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Dán output git log để tạo changelog Markdown tự độngNhóm tính năng, sửa lỗi, hiệu năng và breaking changes theo Keep a Changelog, kèm phiên bản tiếp theo.Trình tạo Changelog →

Cách dùng Máy tính Semver

  1. So sánh: nhập hai phiên bản để xem cái nào mới hơn và vì sao (có tính cả prerelease và build metadata).
  2. Tăng phiên bản: nhập phiên bản hiện tại rồi nhấn loại thay đổi để lấy phiên bản tiếp theo. Kết quả được tự động sao chép.
  3. Kiểm tra range: nhập range npm như ^1.2.0, ~1.2, 1.x hoặc >=1.2 <2 cùng danh sách phiên bản.
  4. Đọc phần giải thích bằng tiếng Việt đơn giản và xem những phiên bản nào thỏa mãn range.

Semantic versioning: MAJOR.MINOR.PATCH

PhầnTăng khi…Ví dụ
MAJORbạn có thay đổi không tương thích ngược1.4.2 → 2.0.0
MINORbạn thêm tính năng, vẫn tương thích ngược1.4.2 → 1.5.0
PATCHbạn sửa lỗi, vẫn tương thích ngược1.4.2 → 1.4.3
Prereleasebạn phát hành một bản thử nghiệm2.0.0-beta.1
Build metadatabạn gắn thẻ một bản build (không ảnh hưởng thứ tự ưu tiên)1.4.2+sha.5114f85

Bảng tra cứu nhanh range npm

RangeÝ nghĩaCho phép
^1.2.3Tương thích với 1.2.3>=1.2.3 <2.0.0
^0.2.3Với 0.x, minor đóng vai trò “major”>=0.2.3 <0.3.0
~1.2.3Chỉ cập nhật patch>=1.2.3 <1.3.0
1.x / 1Mọi phiên bản 1.y.z>=1.0.0 <2.0.0
1.2.3 - 2.3Range dùng dấu gạch nối>=1.2.3 <2.4.0
>=1.2 <1.5 || 2.xMột trong hai tập1.2.0–1.4.x hoặc 2.x

Prerelease chỉ khớp với range khi một comparator trong cùng tập có prerelease trên cùng major.minor.patch. Vì vậy ^1.2.0 không khớp 1.3.0-beta.1, nhưng ^1.3.0-beta.0 thì khớp. Cách này giúp tránh cài đặt phiên bản chưa ổn định một cách vô tình.

Range nằm trong package.json của bạn. Để quyết định phiên bản tiếp theo từ các commit, hãy dùng Trình tạo Changelog; để gắn thẻ bản phát hành, hãy dùng Trình tạo lệnh Git.

Cũng được tìm dưới tên: semver calculator, kiểm tra semver range, npm version range là gì, caret và tilde khác nhau, semantic versioning là gì, tăng version semver, so sánh phiên bản npm, semver prerelease.

Các công cụ dùng kèm tốt với Máy tính Semver

  • GitHub Actions Generator — Chọn công nghệ, trigger và các bước, bạn sẽ nhận được file .github/workflows/ci.yml có chú thích — gồm cài đặt, cache, lint, test, build, ma trận phiên bản và tùy chọn deploy lên GitHub Pages, Vercel hoặc container registry.
  • Chuyển đổi cơ số — Nhập một số ở bất kỳ cơ số nào và xem ngay kết quả ở tất cả các cơ số còn lại.
  • So sánh văn bản — Dán bản gốc và bản đã chỉnh sửa để xem các dòng được thêm, xóa và thay đổi song song, kèm các từ chính xác đã đổi được tô sáng trong từng dòng.
  • Kiểm tra YAML — Dán file Docker Compose, manifest Kubernetes, workflow GitHub Actions hoặc bất kỳ YAML nào để xác định chính xác lỗi, phát hiện các lỗi thường gặp và nhận bản đã định dạng gọn gàng.

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

Tôi có thể dùng công cụ này để kiểm tra semver không?
Có. Nhập một range như ^1.2.0, ~2.3 hoặc >=1.0 <2.0 cùng danh sách phiên bản: mỗi phiên bản sẽ được đánh dấu là khớp hoặc không khớp, kèm giải thích range bằng tiếng Việt đơn giản.
Sự khác nhau giữa ^ và ~ trong package.json là gì?
^1.2.3 cho phép cập nhật minor và patch (đến trước 2.0.0). ~1.2.3 chỉ cho phép cập nhật patch (đến trước 1.3.0). Với phiên bản 0.x, ^ nghiêm ngặt hơn: ^0.2.3 chỉ cho phép 0.2.x.
1.10.0 có mới hơn 1.9.0 không?
Có. Mỗi phần được so sánh như một số chứ không phải văn bản, nên 10 > 9.
Các phiên bản prerelease được so sánh như thế nào?
Prerelease thấp hơn phiên bản chính thức: 2.0.0-beta.1 < 2.0.0. Các định danh prerelease được so sánh từng phần: số so sánh theo giá trị, chữ so sánh theo bảng chữ cái, và số luôn xếp thấp hơn chữ.
Build metadata (+build) có ảnh hưởng không?
Không. Build metadata bị bỏ qua khi so sánh phiên bản: 1.0.0+20261026 và 1.0.0+abc có thứ tự ưu tiên bằng nhau.
Tôi có thể cài Máy tính Semver như một ứng dụng web và dùng khi không có mạng không?
Có. Máy tính Semver là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan