আমার রচয়িতা। জসন ফাইলে টিলড (~) এর অর্থ কী?


115

আমার এই রচনাটি আমার সুরকার.জসন ফাইলটিতে রয়েছে:

"require": {
    ...
    "friendsofsymfony/user-bundle": "~2.0@dev",
    ...
},

টিল্ড কী ~মধ্যে ~2.0@devঠিক মানে? একটি স্থানধারক হয় এবং সর্বদা মত subversions আনা হইবে 1.2.0, 2.2.0, 3.2.0ইত্যাদি? কোনও ধারণা নেই (এবং *ওয়াইল্ডকার্ড দ্বারা এটি করা হবে )।

Composer.json ডকুমেন্টেশন টিল্ড সম্পর্কে কিছু বলতে হয় না।

আমি জিজ্ঞাসা করছি কারণ আমি সিমফনি ব্লগে সিকিউরিটি সম্পর্কিত একটি সমস্যা সম্পর্কে পড়েছি এবং তারা সংস্করণ ১.৩.৩ এ আপগ্রেড করার পরামর্শ দেয়। তবে FOSUserBundle এর সংস্করণটি নির্ধারণ করা এত সহজ নয় (আমি সংস্করণযুক্ত কোনও ফাইল খুঁজে পাইনি)।

উত্তর:


142

টিল্ড মানে পরবর্তী তাত্পর্যপূর্ণ মুক্তি । আপনার ক্ষেত্রে এটি সমতুল্য >= 2.0, < 3.0

পুরো ব্যাখ্যাটি টিলডে সংস্করণ রেঞ্জ ডক্স পৃষ্ঠায় রয়েছে :

~অপারেটর সেরা উদাহরণ দ্বারা ব্যাখ্যা করা হয়: ~1.2সমতূল্য >=1.2 <2.0.0, যখন ~1.2.3সমতূল্য >=1.2.3 <1.3.0

এটি দেখার আরেকটি উপায় হ'ল ~ব্যবহারটি ন্যূনতম সংস্করণ নির্দিষ্ট করে তবে শেষ সংখ্যাটি নির্দিষ্ট করে দেয় up

সেলডিয়কের নীচের মন্তব্যটি সুরকার ডকুমেন্টেশনের একটি সহজ যোগফল।


73
থাম্বের একটি সহজ নিয়ম যেটি আমি রাখতে চাই তা হ'ল digit শেষ সংখ্যাটি উপরে যেতে দেয়। উদাহরণস্বরূপ ~2.2২.২ এবং কোনও ২.x যেখানে x 2 বা তার বেশি means ~2.1.3এক্সটি 3 বা তারও বেশি যেখানে কোনও 2.1.x রয়েছে।
সেলদায়েক

2
কিভাবে ~2.0আলাদা 2.*? শেষ অঙ্কটি 0 না হলে এটি কি কার্যকর?
জেসি

24
~ ২.০ এবং ২. * একই বিট ~ ২.৩ এবং ২। * পৃথক কারণ কারণ ~ 2.3 ২.৩ এর নীচে সংস্করণগুলিতে অনুমতি দেয় না যদিও ২ * ২.০, ২.১, ২.২, ইত্যাদি অনুমতি দেয়
অলটারপিএইচপি

2

Tildeঅপারেটর প্রকল্পগুলির জন্য দরকারী যেগুলি তাদের লাইব্রেরিগুলি semantic versioningস্কিম ব্যবহার করে সংস্করণ করে ।

Semantic versioningআরও একটি গাইডলাইন যা মূল্যায়ন করে next significant release

রচয়িতা জন্য, এই অপারেটর মানে ছোটখাট রিলিজ (যে প্যাচ অন্তর্ভুক্ত করতে পারে) একটি প্রধান সংস্করণ অনুমতি ছাড়া (অর্থাৎ অনগ্রসর সামঞ্জস্যপূর্ণ নাও হতে পারে) যখন অনুমতি ইনস্টল এবং আপডেট

উদাহরণস্বরূপ: ~4.1প্রকল্প সংস্করণ অনুমতি দেবে >=4.1কিন্তু <5.0

ক্রেডিট: http://dwellupper.io/post/37/using-tilde-range-operator-to-resolve-dependency-version-in-composer-php


0

টিল্ড ~মধ্যে ~2.0@dev ঠিক গড় অবিলম্বে সংস্করণের জন্য পর্যন্ত যেতে:

উদাহরণ স্বরূপ :

আমাদের যদি ~2.0@devএটি তাড়াতাড়ি পরবর্তী সংস্করণে যায় => ~2.x@dev

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.