^1.2.3-এর মতো npm রেঞ্জের সাথে ভার্সন যাচাই করুন, সাজান এবং পরের ভার্সন দেখুন
আপনার ব্রাউজারে চলে। আপনি যা লেখেন তা কোথাও পাঠানো হয় না। যাচাই করা হয়েছে 16 অক্টোবর, 2026।একটি semver রেঞ্জ বলে দেয় একটি প্যাকেজ কোন ভার্সনগুলো গ্রহণ করে। npm-এ ^1.2.3 মানে অন্তত 1.2.3 এবং 2.0.0-এর নিচে, আর ~1.2.3 থামে 1.3.0-এর নিচে। ভার্সন 1-এর নিচে ক্যারেট আরও কড়া, তাই ^0.2.3 থামে 0.3.0-এর নিচে। 1.3.0-beta-এর মতো একটি প্রি-রিলিজ কেবল সেই রেঞ্জের সাথে মেলে যেখানে 1.3.0-এর কোনো প্রি-রিলিজের নাম আছে।
এই পৃষ্ঠাটি ইংরেজি মূল লেখা থেকে যন্ত্রের সাহায্যে অনুবাদ করা হয়েছে। এই অনুবাদটি এখনও কোনো মানুষ পর্যালোচনা করেননি, তাই ইংরেজি সংস্করণটিকেই নির্ভরযোগ্য ধরুন। ইংরেজি মূল লেখাটি পড়ুন
package.json থেকে রেঞ্জটি, যেমন ^1.2.3 বা >=18 <21, রেঞ্জ বক্সে লিখুন।
যাচাই করার ভার্সনগুলো প্রতি লাইনে একটি করে পেস্ট করুন, অথবা একটি উদাহরণ দেখুন-এ ক্লিক করুন।
তালিকাটি পড়ুন: প্রতিটি ভার্সন মিলছে কি না চিহ্নিত, সবচেয়ে নিচেরটি আগে সাজানো, এবং সর্বোচ্চ মিলটির নাম দেওয়া আছে।
সাজানো তালিকা নিতে কপি করুন-এ ক্লিক করুন, অথবা শুধু রেঞ্জের ভেতরের ভার্সনগুলো নিতে মিলগুলো কপি করুন-এ ক্লিক করুন।
Semantic Versioning একটি রিলিজকে MAJOR.MINOR.PATCH আকারে লেখে: একটি মেজর পরিবর্তন সেটি ব্যবহারকারী কোড ভেঙে দিতে পারে, একটি মাইনর পরিবর্তন ফিচার যোগ করে, আর একটি প্যাচ শুধু বাগ ঠিক করে। প্যাকেজ ম্যানেজাররা package.json-এ ^1.2.3-এর মতো রেঞ্জ পড়ে মানানসই নতুনতম ভার্সন বেছে নেওয়ার সময় এই প্রতিশ্রুতির ওপর নির্ভর করে।
একটি রেঞ্জ লিখুন এবং প্রতি লাইনে একটি করে ভার্সন পেস্ট করুন। প্রতিটি ভার্সন রেঞ্জের ভেতরে না বাইরে তা চিহ্নিত হয়, তালিকাটি প্রকৃত ভার্সন ক্রমে সাজানো হয়, এবং সর্বোচ্চ ও সর্বনিম্ন মিলের নাম দেওয়া হয়। রেঞ্জটি সাধারণ তুলনা হিসেবেও লিখে দেখানো হয়, ঠিক যেভাবে npm এটি প্রিন্ট করে, তাই ^0.2.3 দেখায় >=0.2.3 <0.3.0-0 হিসেবে।
| রেঞ্জ | মানে | মিলে যাওয়ার উদাহরণ |
|---|---|---|
^1.2.3 |
>=1.2.3 <2.0.0 | 1.9.4 |
^0.2.3 |
>=0.2.3 <0.3.0 | 0.2.9 |
~1.2.3 |
>=1.2.3 <1.3.0 | 1.2.10 |
1.x |
>=1.0.0 <2.0.0 | 1.4.0 |
1.2.3 - 2.3 |
>=1.2.3 <2.4.0 | 2.3.9 |
>=18 <21 |
18.0.0 থেকে 21.0.0-এর নিচ পর্যন্ত | 20.11.1 |
ক্রম। সংখ্যাগুলো সংখ্যা হিসেবে তুলনা করা হয়, তাই 1.10.0, 1.9.0-এর চেয়ে নতুন। একটি প্রি-রিলিজ তার রিলিজের নিচে থাকে: 2.0.0-rc.1 আসে 2.0.0-এর আগে। একটি প্রি-রিলিজের ভেতরে সংখ্যার অংশগুলো সংখ্যা হিসেবে তুলনা হয় এবং শব্দের আগে বসে, তাই beta.2 থাকে beta.11-এর নিচে এবং 1 থাকে alpha-এর নিচে। যোগচিহ্নের পরের বিল্ড মেটাডেটা কখনও ক্রম বদলায় না।
ভুলের ব্যাখ্যা। যে লাইন ভার্সন নয় সেটি কারণ জানায়: 1.2-এ প্যাচ নম্বর নেই, 01.2.3-এ শুরুতে শূন্য আছে, আর 1.2.3.4-এ একটি অংশ বেশি। যেখানে সমাধান স্পষ্ট, সেখানে তা প্রস্তাব করা হয়।
পরের ভার্সন। তালিকার সর্বোচ্চ ভার্সনের জন্য পরের মেজর, মাইনর, প্যাচ ও প্রি-রিলিজ ভার্সন দেখানো হয়, ঠিক যেভাবে npm version সেগুলো লিখত।
প্রতিটি উত্তর node-semver-এর সাথে মিলিয়ে দেখা হয়েছে, যে লাইব্রেরি npm নিজেই ব্যবহার করে, 3,000-এর বেশি তুলনা ও 100টি রেঞ্জে। সবকিছু আপনার ব্রাউজারে চলে; আপনি যা পেস্ট করেন তার কিছুই কোথাও পাঠানো হয় না।
টিল্ড শুধু প্যাচ আপডেটের অনুমতি দেয়: ~1.2.3 গ্রহণ করে 1.2.4 ও 1.2.10, কিন্তু 1.3.0 নয়। ক্যারেট মাইনর আপডেটেরও অনুমতি দেয়: ^1.2.3 গ্রহণ করে 2.0.0-এর নিচের সবকিছু। যেহেতু npm ডিফল্টভাবে ক্যারেট লেখে, বেশিরভাগ প্রজেক্ট নতুন ফিচার আপনা থেকেই পায় এবং কেবল পরের মেজর ভার্সনে গিয়ে থামে।
1.0.0-এর নিচে npm প্রথম অশূন্য সংখ্যাকে মেজর ভার্সন হিসেবে ধরে, কারণ API এখনও স্থিতিশীল নয়। তাই ^0.2.3 মানে অন্তত 0.2.3 এবং 0.3.0-এর নিচে, আর ^0.0.3 কেবল 0.0.3-কেই অনুমতি দেয়। একটি প্যাকেজকে 1.0.0-এ নিয়ে গেলেই ক্যারেটের বড় রেঞ্জ চালু হয়।
হ্যাঁ। একটি সিম্যান্টিক ভার্সনের প্রতিটি অংশ পূর্ণসংখ্যা হিসেবে তুলনা করা হয়, তাই মাইনর ভার্সন 10, 9-এর চেয়ে বড়। ভার্সন নম্বরকে টেক্সট হিসেবে সাজালে বা দশমিক হিসেবে পড়লে 1.10.0 চলে আসে 1.9.0-এর আগে, যা ভুল। সঠিক ক্রম এবং কোন অংশ আলাদা তা দেখতে দুটোই এখানে পেস্ট করুন।
না। একটি প্রি-রিলিজ কেবল সেই রেঞ্জের সাথে মেলে যেখানে একই মেজর, মাইনর ও প্যাচ নম্বরের কোনো প্রি-রিলিজের নাম আছে। তাই 1.3.0-beta মেলে >=1.3.0-alpha-এর সাথে কিন্তু ^1.2.3-এর সাথে নয়, যদিও সাজানোর সময় এটি ওই রেঞ্জের ভেতরে পড়ে। আপনি না চাইলে প্রি-রিলিজ সাধারণ ইনস্টলের বাইরে থাকে।
একটি প্রি-রিলিজ তার রিলিজের আগে আসে, তাই 1.0.0-rc.1, 1.0.0-এর চেয়ে পুরোনো। প্রি-রিলিজের অংশগুলো ডট দিয়ে আলাদা করে একটি একটি করে তুলনা করা হয়: সংখ্যা সংখ্যা হিসেবে, শব্দ বর্ণানুক্রমে, এবং সংখ্যা শব্দের আগে। Semantic Versioning-এর উদাহরণ ক্রম হলো alpha, alpha.1, alpha.beta, beta, beta.2, beta.11, rc.1, তারপর রিলিজ।
যোগচিহ্নের পরের সবকিছু বিল্ড মেটাডেটা, যেমন 1.0.0+20261016 বা 1.0.0+sha.5114f85। বিল্ড মেটাডেটা একটি নির্দিষ্ট বিল্ড চিহ্নিত করে কিন্তু ক্রমের ক্ষেত্রে উপেক্ষা করা হয়, তাই 1.0.0+a ও 1.0.0+b একই ভার্সন হিসেবে গণ্য হয়। রেঞ্জও এটি উপেক্ষা করে, এবং রেঞ্জ প্রিন্ট করার সময় npm এটি বাদ দেয়।
হার ও নিয়ম বদলায়; কোনো অঙ্কের ওপর নির্ভর করার আগে সূত্রটি দেখে নিন।
এখনও আটকে আছেন? Semver চেকার সম্পর্কে প্রশ্ন করুন আর যিনি জানেন তিনিই উত্তর দিতে পারেন। কোনো অ্যাকাউন্ট লাগবে না।